在Delphi中动态地使用SQL查询语句 Adoquery sql 参数 冒号
摘要:{清除以前的查询语句}查询1。SQL。添加('从mytable中选择*');{添加新的查询语句以从mytable}Query1中选择*。准备{清除以前的查询语句}查询1。参数。清楚的{创建新的查询语句参数p}Query1。SQL。添加('select*from title1hereNO_GLOBE=:
在Delphi中动态地使用SQL查询语句
在一般的数据库管理系统中,通常都需要应用SQL查询语句来提高程序的动态 特性。下面介绍如何在Delphi中实现这种功能。 在Delphi中,使用SQL查询语句的途径是:在窗体中置入TQuery构件,设置其 SQL属性的内容值,此内容为一个字符串数组,数组的每个值对应一行SQL查询语句。 可以在程序设计过程中事先指定,也可以在程序运行中重新赋值,即可以实现动态 地改变程序中的查询语句。假定程序的窗体中有一个名为Query1的TQuery构件,在 程序运行过程中需要改变它的SQL查询语句内容,则可以引用以下程序行。 Query1.close; {先关闭以前查询的连接} Query1.SQL.Clear; {清除以前的查询语句} Query1.SQL.Add('select * from mytable'); {增加新的查询语句内容为select * from mytable} Query1.Prepare; {发送查询到Borland Database Engine (BDE)} Query1.open; {建立新的查询语句的数据库连接} 在Delphi中,要灵活地使用SQL查询语句,还需要使用TQuery构件的Params特性, 即在查询语句中使用参数。Delphi中的SQL语句如需参数,则在参数名称前使用一个 冒号':'来作为标识。例如:'select * from mytable where id_no=:p'一句,其中 p为参数,可以在程序运行过程进行在赋值。在程序运行期动态地创建带参数的SQL 查询语句较为复杂,其过程如下: Query1.close; {先关闭以前查询的连接} Query1.SQL.Clear; {清除以前的查询语句} Query1.Params.Clear; {清除以前查询语句的参数} Query1.Params.CreateParam(ftString, 'p',ptInput); {创建新的查询语句的参数p} Query1.SQL.Add('select * from title1 where NO_GLOBE=:p'); {增加新的查询语句内容为select * from title1 where NO_GLOBE=:p} {其中p为新建的参数} Query1.ParamByName('p').asstring:= '1'; {给新的参数赋值为'1'} Query1.Prepare; {发送查询到Borland Database Engine (BDE)} Query1.open; {建立新的查询语句的数据库连接} 以上两个示例中,SQL查询语句都是SELECT语句,而当SQL语句是UPDATE或INSERT、DELETE时,其中的Query1.Open需要改为Query1.ExecSQL。 4、动态SQL应用实例介绍 下面给出一个完成动态SQL查询、批记录移动的数据库程序。程序从数据库my_database的表TITLE_L.DBF中选取符合要求日期的记录,并批量移动到同一个数据库的表my_table.dbf中。 {指定所要连接的数据库别名} Database1.AliasName:='MYDATABASE'; Database1.DatabaseName:=my_database; Database1.connected :=True; {指定目标表是Table1} Table1.DatabaseName:= ' my_database'; Table1.TableName:= ' my_table.dbf'; Table1.Active:=True; {指定源数据的内容对应查询Query1} Query1.DatabaseName:= ' my_database'; Query1.close; {程序运行时动态添加SQL查询语句} Query1.SQL.Clear; Query1.Params.Clear; Query1.Params.CreateParam(ftInteger, 'update',ptInput); Query1.Params.CreateParam(ftInteger, 'dndate',ptInput); Query1.SQL.Add('SELECT* FROM TITLE_L'); Query1.SQL.Add('where LET_DATE<=:update'); Query1.SQL.Add('AND LET_DATE>:dndate'); Query1.SQL.Add('ORDER BY NO_LOCAL'); Query1.Prepare; Query1.Params[0].asInteger:=Up_Date; Query1.Params[1].asInteger:=Down_Date; Query1.open; Query1.Active:=True; {用DBGrid1来显示将要移动的记录} DataSource1.DataSet:= Query1; DBGrid1.DataSource:= DataSource1; {进行批量记录移动} BatchMove1.Mode:=batAppend; BatchMove1.RecordCount:=0 BatchMove1.Source:=Query1; BatchMove1.Destination:=Table1; BatchMove1.Execute; |
免责声明:文章转载自《在Delphi中动态地使用SQL查询语句 Adoquery sql 参数 冒号》仅用于学习参考。如对内容有疑问,请及时联系本站处理。
上篇Appium(七):Appium API(一) 应用操作apache配置禁止访问某些文件/目录下篇
宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=
paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。paramiko支持Linux, Solaris, BSD, MacOS X, Windows等平台通过SSH从一个平台连接到另外一个平台。利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输。 paramiko常...
areaStyle: { opacity: 0.8, color: new echarts.graphic.LinearGradient(0, 0, 0, 1, //4个参数用于配置渐变色的起止位置, 这4个参数依次对应右/下/左/上四个方位....
向原作者致敬,原文地址http://www.cnblogs.com/linjiqin/p/3388298.html FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format} ${book.name?if_exists } //用于判断如果存在,就输出这个值 ${book.name...