自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

转载 异常 Exception(Error) (转贴)

设计健壮程序的关键之一是,如果程序分配了资源,最后就必须释放它,而不管异常是否发生。  例如,如果你的程序分配了一块内存,必须确保最终释放这块内存;如果打开了一个文件,必须确保最后关闭这个文件。  在正常情况下,程序在申请资源后,能够释放它。然而,就算异常发生了,也必须保证释放它。  异常往往由一些偶然的事件导致。例如,程序中调用一个RTL例程,或使用一个构件都可能产生异常。你的程序必

2011-11-08 14:30:19 853

转载 SQL SERVER 2000 嵌套 存储过程 事务 回滚

<br /><br />/*当一段大的SQL语句中调用了多个存储过程,被调用的存储过程中又调用了多个存储过程,如此经过多次嵌套调用后,当遇到如重复主键、或是不满足业务逻辑时需要回滚整个事务,则可以使用下面的模式进行处理。也可以不进行raiserror进行直接计数。当SET XACT_ABORT ON后如果执行出错会自动回滚到最外层事务,但如果是业务逻辑出错则需要进行手动计数和手动回滚,即下面的DECLARE @ErrorSave INT SET @ErrorSave = 0|EXECUTE @ErrorSa

2011-03-11 10:47:00 4106 1

转载 在存储过程中编写正确的事务处理代码(SQL Server 2000 & 2005)

<br /><br />在 SQL Server 中数据库事务处理是个重要的概念,也稍微有些不容易理解,很多 SQL 初学者编写的事务处理代码存往往存在漏洞,本文介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码。<br />在编写 SQL Server 事务相关的存储过程代码时,经常看到下面这样的写法: begin tran update statement 1 ... update statement 2 ... de

2011-03-11 10:29:00 699

转载 ExtractFilePath()

ExtractFilePath()  ExtractFilePath()  功能:返回完整文件名中的路径  函数原型如下:  AnsiString __fastcall ExtractFilePath;  ExtractFilePath和相近函数:  ExtractFileDrive :返回完整文件名中的驱动器,如"C:"  ExtractFilePath:返回完整文件名中的路径,最后带“/”,如"C:/test/"  ExtractFileDir:返回完整文件名中的路径,最后不带“/” ,如"C:/tes

2011-02-26 14:29:00 1047

转载 【转】 DELPHI编写服务程序总结三--代码质量

<br />一、提高DELPHI程序的稳定性<br />软件质量是一个产品的生命线,也是关乎软件开发者的幸福关键所在,每天有很多程序员都在因为软件质量而通宵达旦的加班,经常遇到的情况是刚发布的程序不停的发布补丁包。软件质量就像一个噩梦一样,不停的在后面追赶着程序员,让他们疲于奔命,甚至于在程序员中流传着一句话:“生命不息,BUG不止”。<br />今天我们要探究的不是哪些可以重现的BUG,我们把哪些可以重现的BUG不定义为BUG,只有哪些不可重现的BUG,会让你茶饭不思、坐立不安。我曾在一家公司开发服务器软

2011-01-26 16:50:00 1046

转载 sql temp

SQL Server Temp Table关键字: temp tabledrop table #Tmp   --删除临时表#Tmp create table #Tmp --创建临时表#Tmp (     ID   int IDENTITY (1,1)     not null, --创建列ID,并且每次新增一条记录就会加1     WokNo                varchar(50),       primary key (ID)      --定义ID为临时表#Tmp的主键      );

2011-01-26 15:45:00 3869

原创 高性能sql语句

<br /><br />(1)整合简略,无关联的数据库拜访:<br />  假如你有几个简略的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系)<br />  (2)删除反复记载:<br />  最高效的删除反复记录方式 ( 因为使用了ROWID)例子:<br />  DELETE FROM EMP E WHERE E。ROWID > (SELECT MIN(X。ROWID)<br />  FROM EMP X WHERE X。EMP_NO = E。EMP_NO);<br />  (3)用

2011-01-26 14:44:00 575

转载 sql 性能综合描述

<br /><br />近期因工作需要,希望比较全面的总结下SQL SERVER数据库性能优化相关的注意事项,在网上搜索了一下,发现很多文章,有的都列出了上百条,但是仔细看发现,有很多似是而非或者过时(可能对SQL SERVER6.5以前的版本或者ORACLE是适用的)的信息,只好自己根据以前的经验和测试结果进行总结了。<br />我始终认为,一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的。所以我希望按照软

2011-01-26 14:39:00 523

转载 sql 性能

<br /> 从 INSERT 返回 IDENTITY<br />我决定从遇到许多问题的内容入手:如何在执行 SQL INSERT 后检索 IDENTITY 值。通常,问题不在于如何编写检索值的查询,而在于在哪里以及何时进行检索。在 SQL Server 中,下面的语句可用于检索由最新在活动数据库连接上运行的 SQL 语句所创建的 IDENTITY 值:SELECT @@IDENTITY<br />这个 SQL 语句并不复杂,但需要记住的一点是:如果这个最新的 SQL 语句不是 INSERT,或者您针对非

2011-01-26 14:34:00 396

原创 ado连接技术

<br />delphi应用程序我一般用ADO进行连接,这方面涉及到好几个现象:<br />一、正常连接,程序启动后连接数据库,若连接条件都正常,软件很快就能连接成功。这个就不用说了;<br />二、连接失败。这方面包括数据库服务器不正常、应用程序连接参数错误等等,在连接过程中,会造成界面假死的现象,而且持续时间较长(我设置超时时间好像不起作用,如AdoConn.ConnectionTimeout := 10;)。最后弹出对话框说连接错误,并返回错误信息;这是让我很头疼的问题;<br />三、和数据库连接过

2011-01-26 14:26:00 1048

原创 单个adoconnection 因网络不稳定导致的物理连接断开问题

delphi应用程序我一般用ADO进行连接,这方面涉及到好几个现象:一、正常连接,程序启动后连接数据库,若连接条件都正常,软件很快就能连接成功。这个就不用说了;二、连接失败。这方面包括数据库服务器不正常、应用程序连接参数错误等等,在连接过程中,会造成界面假死的现象,而且持续时间较长(我设置超时时间好像不起作用,如AdoConn.ConnectionTimeout := 10;)。最后弹出对话框说连接错误,并返回错误信息;这是让我很头疼的问题;三、和数据库连接过程中,若物理连接断开,应用程序不会检测到,须手工

2011-01-15 15:15:00 2974

原创 临时表 是否存在

<br /><br />1.在SQL SERVER中,用select object_id('Tempdb..#TempTable')该语句可判断一个临时表是否已经建立。(已建立返回值为一个整数,未建立则返回Null值)<br />Tempdb 是表示存临时表的数据库<br />我们可在建立临时表前先用以下语句判断临时表是否已存在,当已存在时就删除该临时表。<br />if not (select object_id('Tempdb..#TempTable')) is null drop table #Tem

2011-01-11 16:45:00 1724

原创 Delphi 用recno定位记录的当前位置 适合于小型数据库

1.if qrytem.isempty=true then qrytem.recno:=-1; //最小值   此情况为 数据源刚打开的时候且数据记录集为空值,不为空则recno:=1;2.if qrytem.eof=true then qrytem.recno:=qrytem.recordcount;//最大值(数据源不为空)   //当 recno=qrytem.recordcount时 指向最后一条记录 此时可以再执行一次qrytem.next;而后qrytem.eof才为真,recno值不变3. /

2011-01-07 10:28:00 6262

转载 Delphi代码规范

<br /><br />引自:http://www.delphibbs.com/keylife/iblog_show.asp?xid=29323<br />作者 : 600666<br />标题 : Delphi代码规范<br />关键字:<br />分类 : 个人专区<br />密级 : 公开<br />本规范的目的:给自己的代码一个统一而标准的外观,增强<br />              可读性,可理解性,可维护性<br />本规范的原则:名称反映含义,形式反映结构<br />1、单元风格<br /

2010-11-29 11:28:00 661

转载 stringgrid 使用技巧

<br />1. 文字居中 加 选中时(焦点) 虚边框  如何加颜色<br />procedure   TForm1.StringGrid1DrawCell(Sender:   TObject;   ACol,   ARow:   Integer; <br />    Rect:   TRect;   State:   TGridDrawState); <br />var <br />    vText:   PChar; <br />begin <br />    with   TStringGrid(S

2010-11-26 16:29:00 1083

转载 dbgrideh 使用技巧

Ehlib的DBGridEh首列加序号 必须有首列(建一个) dbgrideh-options-dgzndicator设置为false dbgrideh.columns[0]-visual-color可以区分其他列的颜色 procedure TDBViewFrm.DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;  DataCol: Integer; Column: TColumnEh; State: TGridDrawState); be

2010-11-25 22:00:00 3545

原创 Twwdbgrid/Tdbgrideh 字段排序sort

    qrymt.sort:=sortstring; 这个关键执行语句  (用网格控件 关联到查询控件 是不行的 因为没有 sort 属性)    通用方法:Twwdbgrid 、Tdbgridehprocedure Tfrmtest.DBGridEh1TitleClick(Column: TColumnEh);var sortstring,fieldname:string;    Adoquery:Tadoquery;begin  adoquery:=qrytem1;                  

2010-11-25 14:58:00 1401

转载 Delphi作的程序的源代码中常见的文件扩展名

<br />~*<br />Delphi生成的备份文件,在版本控制库及发布代码中不应该出现这些文件,如果修改了某个文件却因某些原因没有保存的话,可以尝试使用这些文件恢复。<br /><br />bmp/wmf/emf/gif/jpg/pcx/png/tiff/ico/cur/ani<br />图形/图标/光标文件,这些文件如果使用到了也需要进源代码库。<br /><br />bpg<br />工程组文件(Borland Project Group File),文本格式,需要进源代码库;bpg文件其实是mak

2010-11-17 09:43:00 1121

原创 panel mouseDrag

<br /><br />procedure TFrmProduce2.Panel7MouseMove(Sender: TObject; Shift: TShiftState;<br />  X, Y: Integer);<br />begin<br />ReleaseCapture;<br />SendMessage(Panel6.Handle,wm_SysCommand,$F012,0);<br />end;

2010-11-05 15:04:00 490

转载 ttreeview

<br /><br />TTreeView是VCL里面一个类,也是我们经常会用到的,而且功能也是很强大的。与TreeView相关的一个极其重要的类就是TTreeNode,我们下面的操作,几乎都是在围绕着它进行的。下面直接切入正题,要实现节点间的拖动,都需要实现哪几个事件呢?首先,要实现 OnMouseDown ,在其内要写入开启拖动的代码。 然后,要实现 OnDragOver ,其主要作用是在拖动过程中,实现对节点拖动目的(di)的控制。 最后,要实现 OnDragDrop ,其是实现拖动释放的操作。 <b

2010-11-04 18:19:00 495

原创 Treeview 分层显示 小思考

<br />1.以 链表 数据模型设计数据库表 同表中 code->Parent<br />2.层数 LayerCount 为1时 不显示Parent属性 即 不显示关于 绑定parent控件,目的是不需要修改其parent 都为''空 或 null <br />3.一般实行编码累加时 每一次增加 code=输入值+parent ,不显示parent属性 即不能灵活改变parent值 编码和parent有关改变了很麻烦<br />4.即 LayerAddcode:=false;LayerCount>1 an

2010-11-04 17:14:00 399

转载 override/overload/virtual

<br /><br />1.方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。<br />如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。<br />子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。<br />如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的

2010-11-03 16:32:00 450

原创 dbedit 显示风格

1.TDBEdit在显示数据时如果源数据是字符串,则靠左显示,如果是数字(整型或浮点型)则是靠右显示,我现在想不管数据类型为何,都靠左显示, 即 DBEdit3.Field.Alignment:=taLeftJustify;DBEdi的Field属性只在运行期可见,也就是说只能用代码,而不能再设计时访问 它对应的就是DBEdit所指向的数据集,如Table、Query等包含的某一个字段(双击数据集控件,打开字段编辑器可以看到)

2010-11-03 13:00:00 966

原创 dbgrideh 使用技巧

<br />1.options.dgtitles 是否显示表头、列名 options.dgIndicator 是否显示最左边的指示列(当前、选中)

2010-11-02 09:07:00 386

原创 c/s 模式 各种数据库连接方式的优劣

一.总部数据库(Master)-1.店面数据库(Slave1)2.店面数据库(Slave2)...各店面的数据通过发布和订阅机制与Master同步,各店面去Master查询,就可以获得其他店面的数据。网络连接方面用VPN安全点。我们这里Master连全国几十家店就是这样连的。二。ado 门店连接总部数据库 区域内,一般一个省内吧 ado连接比较方便,只要可以直接连接那就好办了,实在不行就用VPN,但成高本,也可以考慮使用花生殼,終端機登入也可以上传与下载 数据,即 总部与数据之间三。各个子机构自动上传数据到

2010-11-01 22:26:00 1496

delphi11 学习资源 Woll2Wool infoPower 4k 21.0.5

delphi11 著名控件 Woll2Wool infoPower 4k 21.0.5 含完整源码版 install 有对应的安装方式, delphi11.3亲测可以使用

2023-11-09

delphi11.3 学习资源 TMS VCL UI Pack 10.7.1

RadStudio 10.3.3 Rio (Delphi & C++ Builder)及TMS TAdvStringGrid控件安装方法 https://blog.csdn.net/baidu_41764522/article/details/105191064

2023-11-09

Delphi 11 学习资源 Raize 6.2.3

在Delphi 11版本安装 10.4的Raize 6.2.3 (XE8-XE10.4) 控件 https://blog.csdn.net/zjg076000/article/details/126805784 图文说明dpk安装方式

2023-11-08

Delphi11.3 学习资源 RAD Studio 11.3-keyPatch

RAD Studio 11.2 详细图文安装教程 (delphi 11.2) https://blog.csdn.net/fallingflower/article/details/128598386 Delphi 11.2 安装 CnWizards 组件包 https://blog.csdn.net/fallingflower/article/details/128610767

2023-11-07

空空如也

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

TA关注的人

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