Delphi开发的一些技巧

点击率:1372 来源: 作者: 发布日期:2017-04-07

一、提高查询效率先进行准备查询操作:

CustomerQuery.Closeif not (CustomerQuery.Prepared) then >查询是否已准备好
CustomerQuery.Prepare >查询准备
CustomerQuery.Open >执行查询

二、要在运行期访问参数,有三种方式可以选择:(适合BDE控件中的TQuery)

(1)ParamByName: 按名称设置参数的值
(2)Params: 按序号设置参数的值
(3)Params.ParamValues 属性按名称设置参数的值。这种方法可以在一行中设置一个或者多个参数的值
假设一条SQL语句有三个参数:

复制代码

 INTO "RY.DB" 
(Name, Capital, Continent)
VALUES (:Name, :Capital, :Continent)
(1)Query1.Params[1].AsString := Edit1.Text 
(2)Query1.ParamByName('Capital').AsString := Edit1.Text
(3)Query1.Params.ParamValues['ryCapitalContinent'] := VarArrayOf([Edit1.Text,Edit2.Text, Edit3.Text])

复制代码

三、要让用户可以在数据控件中编辑查询出来的结果:

Query1.RequestLive:= True。

注:设置RequestLive:= True并不能保证“实时数据结果集”。

四、释放SQL语句占用的资源

CustomerQuery.UnPrepare

UnPrepare方法设置Prepared为False。它的工作主要是:

(1)再进行查询之前保证SQL属性已经准备好
(2)“通知”BDE释放掉为SQL语句分配的内部资源
(3)“通知”数据库服务器释放掉为SQL语句分配的内部资源
提示:在改变TQuery的SQL属性的时候,TQuery构件自动关闭和释放占用的资源

五、(1)执行返回结果的查询

CustomerQuery.Close
CustomerQuery.Open

(2)执行不返回结果的查询

比如, , or ,直接调用SQL。比如:

CustomerQuery.SQL { query does not return a result set }

六、在运行期间执行查询(动态查询)
如果在设计期间无法确定是否要返回查询结果,可以用Try...Except结构把这两个过程都写进去,一般Open在Try部分调用,而SQL在Except部分调用,这样,即使Open调用失败,也能执行到SQL。可以在Except部分截获异常的类型。如果这个异常不是ENoResult异常,那么这个异常一定是其他原因引起的,必须被处理。

复制代码

tryQuery2.Openexcepton E: Exception doif not (E is ENoResultSet) thenraiseend

复制代码

七、在DELPHI中嵌入汇编

复制代码

Procedure TForm1.Button1Click(Sender:TObject)beginASM
push bx //此行汇编必须要有,且在第一行
mov ax,0ffh
add ax,033h
pop bx //必须恢复BX寄存器,//否则系统出现不可预料的错误,小心当机
END 
end

上一篇:Java程序员应当知道的10个面向对象设计原则 下一篇:菜鸟程序员必备的12个技巧

相关阅读

风格切换
主题颜色
模式

布局风格