自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qiubolecn的专栏

笔记啊,心情啊,都在这里面吐吧

  • 博客(28)
  • 资源 (11)
  • 收藏
  • 关注

原创 限制MDI子窗体的最大化后,没有自己的标题栏。

procedure TExplorer.WMMax(var Msg: TWMGetMinMaxInfo); message WM_GETMINMAXINFO;begin   //什么都不用写。end;procedure TExplorer_Frm.WmSize(var msg: TWMSIZE);begin  if msg.SizeType = SIZE_MAXIMIZED then    msg

2005-06-01 20:31:00 3950 1

原创 修改用户定义的数据类型

--SQLSERVER的自定义类型比较好用吧,但是,一旦引用该数据类型后,想修改数据类型,就是一大头疼的事了,本存储过程就是专门对付它的。--sp_rebuildallview 见本BLOG中的其它页面create procedure sp_rechangfieldtype(@typename varchar(50), @newtype varchar(50))asbegindeclare @ty

2005-06-01 20:30:00 1703 2

原创 更新所有的视图

更新所有视图的存储过程。create procedure sp_rebuildallviewasbegindeclare @mytext varchar(8000)declare @id intdeclare mycursor cursor forselect c.text from dbo.syscomments c, dbo.sysobjects o     where o.id = c.id

2005-06-01 20:29:00 1466 1

原创 气愤的StringGrid

大家看一下这一段代码。  StringGrid1.Cells[0,0] := hello;  StringGrid1.Row := 0;  ShowMessage(StringGrid1.Rows[0].Text);  ShowMessage(StringGrid1.Rows[1].Text);在[0, 1]的位置也显示一个hello但是我们显示这个位置的内容时,却无法看到。是不是ST

2005-02-28 16:24:00 1529 1

原创 单元测试的新的感想

1、尽量使得在被测试的方法内部所做的操作能被外部捕获。2、尽量用函数而不用过程。3、对于不确定的数据,最好由外部传入。比如在过程里面根据时间生成单据号,时间最好由外部传入,否则就无法进行测试。4、对于大量需要进行覆盖的测试,请不要用硬编码。而是从外部读取,好像JAVA有套单元测试的 jetif 可以从元数据中读取‘样本数据’和‘结果数据’。可能DUNIT没有,只能自己写了。5、单元测试本身请不要‘

2005-02-26 10:49:00 1273 1

原创 保持写程序的几个习惯

1、先测试,再写程序。2、无处不在的重构。3、注意去掉坏味道。4、列好清单,如果需要花很长时间去完成的,只写一个清单,如果很短时间的(一分钟以内)则解决掉它5、让自己的代码变得更短。6、不要加没有必要的注释。7、好的代码结构永远比注释强。8、保持文档与代码的同步。9、一定要对自己的代码有信心,哪怕出过N次BUG。10、多加TODO。11、记得多比较,这样才会有性能提高。

2005-02-23 10:13:00 1116

原创 单元测试几个小建议

以下的示例均在DUNIT下进行,但同样适用于XUNIT。只是语法用的是OBJECT PASCAL最近在用DUNIT来写程序,写着写着,也碰到了一些小问题,也找到过一些解决办法,同时,也发现了不少的注意事项,特提出来与大家共勉。1、最好用带ID的异常来代替显示对话框。      优点:对话框无法进行捕捉。异常可以      缺点:程序内部要加入异常处理机制,并要求抛出,代码量增加      举例: 

2005-02-23 09:53:00 1250

原创 今天杂记

1、问题:对一个表,有50个客户端对它进行插入数据,平均每十秒一次,每次20条记录,怎么计算它的堵塞率? 2、感想在写单元测试的时候,如果对数据库进行检索或插入,最好用select * 及不带字段名的insert into tablename values(连续插入几个值,可以用insert into tablenameselect aaaa....unions

2005-02-21 10:53:00 985

原创 singleton之我见

先和大家说说什么是singleton模式的,它中文意应该为单一模式,但好别扭,也不知道是谁翻译的 29796428(qiubole) 12:26:46它属于创建模式的一种 29796428(qiubole) 12:27:00主要的作用就是确实一个类有且只有唯一的一个实例 29796428(qiubole) 12:27:10这在实际当中,其实还是有一些用处的 29796428(qiubole) 12

2004-12-30 13:18:00 986

原创 得到一个表名参数的第一个字段的值

如果你在写存储过程的时候,想得到select dvalue from + @Tablename的值,怎么办呢就用它ALTER  procedure sp_getvalue  @sqlstr varchar(2000),  @output varchar(50) output,  @output1 int output,  @type int  as/******************** 

2004-12-30 13:15:00 1153

原创 查看表内容

你在用ISQLW的时候,想看一个表的内容怎么办呢?最好的办法就是在‘工具’-》‘自定义’里面增加一个快捷键,比如在Ctrl+0处增加sp_select然后在数据库中增加一个这样的存储过程这样你就可以在查询分析器里,选择你要查看的表名,然后按Ctrl + 0键。本blog里面的其它内容也是通过此方法操作的create   procedure sp_select  @a varchar(100)a

2004-12-30 13:14:00 1113

原创 如何提升自己的表为系统表,防止误操作对其进行修改

create table test1(did int)sp_configure  allow updates, 1RECONFIGURE WITH OVERRIDEupdate sysobjects set xtype = S,info = 4 where id = object_id(test1)sp_configure  allow updates, 0RECONFIGURE

2004-12-30 13:13:00 1096

原创 在查询分析器中,通过SQLDMO来得到脚本

--用以下脚本,可以得到任意对象的创建时的脚本,网上好像也流传有,但属于自己的东西用着还是感觉舒坦.--增加快捷键后,然后在查询分析器中按相应的快捷键就能显示对象的脚本.SET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GO  ALTER    procedure sp_script        @objectname varchar(50)a

2004-12-30 13:08:00 1274

原创 delphi中宏小用.

用DELPHI的宏可以做一些非常简便的工作, 它是记录键盘的动作,如果我们将一些有规律的动作,用宏来进行操作,就可以达到事半功倍的效果,前提是编写的代码风格比较整洁.宏是以Ctrl + Shift + R开始, 也以Ctrl + Shift + R结束, 以Ctrl + Shift + P来播放.开始录制宏后,可以在状态栏看到 Recording字样.以下以Assign为例,来进行举例如下,我

2004-12-30 10:41:00 1304 3

原创 如何判断一个机器的MSSQL是否启动

//判断一个机器的MSSQL是否启动,通过SQL DMO是可以的,但对于没有装MSSQL的客户端来说就没办法,此处用的是连接MSSQL的1433端口,如果端口号不同,可以通过传递端口.unit Judge_U;interfaceuses  SysUtils, Classes, IdBaseComponent, IdComponent, IdTCPConnection, IdIcmpClient

2004-12-30 08:45:00 1616 2

原创 一个简单的,适应多种数据库之间存取操作的数据库访问层

//大家在进行数据库访问的时候,经常会将自己常用的一些写成函数的形式, 但如果是不同类型的数据库,或者想转换数据库类型,就比较麻烦了,此处提供了三个对象.TDataAccess为基类.TServerAccess为ADO类型的,TClientAccess为BDE类型的, 这几个都有点不太舒服的地方,就是没有提供初始化委托函数,而是用一个INITALL来进行初始化,大家可以自己改进,这只是我们应用的一

2004-12-30 08:29:00 1165

原创 我对DELPHI写的几个基类型

//用惯JAVA或C#的人可能对DELPHI非常生气,连基本的类型都没有,我平时工作中,经常会曾试着把一些函数集合在一起,也经常做一些属于自己的基础类型的函数,此处把它们弄出来,有不当之处,请大家点评.unit BaseClass;interfaceuses  SysUtils, Classes, StrUtils, IdGlobal, Math;type  TCharSet = se

2004-12-30 08:20:00 1145 2

原创 双对象列表,双字符串列表

//在平时的应用中,经常会碰到一些,对象集TAs中每个A对象都对应每个B对象,对象TBs中每个对象B都对应一个A对象.  如果在A和B中各放一个Tobject属性来进行互相引用,也是非常不错的,但那样依赖关系太强了.//同样,我们经常会碰到一些这样的情况,有一串的编号和一串的名称进行对应,我们经常要从编号找名称,或从名称找编号. //所以,此处提取出来了两个对象TDoubleObjList和TDo

2004-12-30 08:17:00 1020 1

原创 生成表中的数据的脚本。

在A服务器中有表 table1 ,想把该表的内容导到 B服务器中,这两个数据库没联网,怎么办?导成外部文件,再用导入导出。。。。 这太笨了吧,如果对方服务器是INTERNET上的,只能执行服本怎么办,晕死了吧,用这个存储过程来帮你。ALTER           proc sp_GetTableData  @objname nvarchar(776)as-- set @objname=s_cod

2004-12-29 23:25:00 963

原创 在查询分析器中,用快捷键取得字段的列表。

ALTER      procedure sp_getfields    @tablename varchar(100)  as    declare tmpCursor cursor for    select name from syscolumns where id = Object_ID(@tablename)      open tmpCursor    declare @fieldna

2004-12-29 23:01:00 989

原创 查询分析器中,用快捷键取字段的描述

ALTER  procedure sp_columnscript  @tablename varchar(50),  @columnname varchar(50) = nullas/*****************************  修改日期:2003-04-09  修改人:wu  备注:取得某个表的备注:*****************************/  declare

2004-12-29 22:59:00 827

原创 MSSQL中取得计算机名

ALTER       FUNCTION S_GetComputerName()RETURNS varchar(50)AS  BEGIN     declare @returnvalue varchar(50)    select  @returnvalue = hostname from master..sysprocesses where spid = @@spid    Return(Rtr

2004-12-29 22:55:00 1113

原创 mssql中十进制转换成十六进制字符串

ALTER  function IntToHex(@i int)returns varchar(20)asbegindeclare @tmpint intset @tmpint = @ideclare @result varchar(20)set @result = while @i begin  set @tmpint = @i % 16  set @i = @i / 16  s

2004-12-29 22:54:00 1976

原创 接口小用

很多人总是问我,接口怎么用,什么时候用它。猛地被他们一问,只能讲讲以前的应用,发现都不是非常容易理解,今天发现有一个实例,还是非常好讲解的。我们有一个对数据进行快速下载的函数。procedure TDataSwitch.DownTable(ASQLStr, ATableName: string);var  tmpDataSet: TDataSet;  tmpDestDataSet: TDataSe

2004-12-29 22:29:00 820

原创 对象的关系

今天趁着第一个阶段编码的结束,花了点时间将几个关键对象重构了一次,现在看看,代码还是流畅多了,看来用测试驱动开发,还是比较好的,虽然看起来时间花上去了,但心里有了底,而且也给测试减少了一些工作,重构的时候不再是那么胆小了。用DUNIT很不习惯的一点就是,不像其它的自动化测试工具那样,能够对界面进行处理,虽然写的代码与界面关系已经不大了,但有时还是免不了漏掉些事情。把今天的流水账记一下吧1、写代码时

2004-12-29 22:17:00 883

原创 渴望走出困境

一直都没有办法摆脱目前所面临的处境,由于力量不是非常的平衡,在经过多次的磨合之后,都让人感觉很不成功。现在摆在目前的任务有好几个1、新项目的开发:按照我的预期目标,新的项目应该是由三个左右的人一起进行调研,整理分析的,可因为最近的事特别多,只能由一个刚进公司半年的一个分析员来进行,说真的,感觉一个字,糟透了,每天都必须要我花上两个来小时的时候与他一起讨论,然后让他根据这些进行总结,归纳,但他却总也

2004-12-29 21:57:00 821

原创 查看字串内容

在调试存储过程时,对于一些超过255个字符的字符串如何显示呢?因为不管是PRINT还是SELECT都不方便 最好的办法当然是写一个存储过程来显示它 create procedure sp_getstr      @str varchar(4000)    /**********   修改人: qiubole   备注:读取串里面内容 **********/as      declare @i

2004-08-01 14:48:00 599

原创 视图妙用

1、分离逻辑与业务数据。        众所周知,在与数据库相互的应用系统的设计过程中,我们经常会对其操作行为分离,当然,这第一步就是要求不要用数据库敏感控件,第二就是要求显示与操作分离,最好的办法就是采用视图,比如我们有如下需求。        A,查看一张单据的明细        B,对该明细进行编辑        虽然需求很简单,但如果要考虑到需求的变更,就需要我们经常重新组织查看的方式,因

2004-08-01 14:42:00 806

ORACLE的TNS.doc

TNS协议

2021-06-09

信息安全理论与实务(WORD)

网上都是PDF或者扫描的,太不清楚了,直接给个WORD的,是否相当给力啊

2014-07-24

流量监控源码

流量监控 VC 源码

2008-03-13

端口查看工具

端口查看的工具,很小很不错

2008-03-13

freepy 输入法源码

freepy 输入法源码

2008-03-13

delphi 邮件服务器源码

delphi 邮件服务器源码

2008-03-13

svn 中文手册

svn 中文手册,强烈推荐

2008-03-13

OpenSSL开发指南

OpenSSL开发指南

2008-03-13

AQTime教程

AQTime中文教程

2008-03-13

windbg 基础教程

windbg 基础教程

2008-03-13

windbg 整理的文章

windbg 从网上整理的文章

2008-03-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除