Delphi中的SQL编程
2007-11-11 13:08:18 来源:WEB开发网例如:一个TQuery部件Query1,我们为它编写的动态SQL语句是:
Insert Into Customer(CustNo,Name,Country)
Values(:CustNo,:Name, : Country)
对于上述这条动态SQL语句中的参数,我们可以利用TQuery部件的params 属性为参数赋值:
Query1.params[0].AsString := "1988";
Query1.params[1].AsString := "Lichtenstein";
Query1.params[2].AsString := "USA";
上述语句将把"1988"赋给参数:Cuse_No,"Lichtenstein"赋给参数:Name,"USA"赋给参数:Country。
17.4.2 使用ParamByName方法为参数赋值
ParamByName是一个函数,用动态SQL语句中的参数作为调用ParamByName函数的参数,这样便可以为它们赋值,使用这种赋值方法,必须要知道动态SQL语句参数的名字。
例如在17.4.1节中的例子中,也可以用下述方法给参数赋值:
Query1.ParamByName('CustNo').AsString := "1988";
Query1.ParamByName('Name').AsString := "Lichtenstein";
Query1.ParamByName('Country').AsString := "USA";
使用这种方法同样可以为各参数赋值,而且更加直观一些。
17.4.3 使用Datasource属性为参数赋值
上述两种方法的共同特点是:我们在为各参数赋值时,我们是知道各参数对应的具体参数值的。而在具体的应用程序中,有些参数值常常是无法确定的,例如参数值来自于另一个查询结果,对于这种情况,Delphi提供了使用Datasource属性为动态SQL 语句中尚存在没有赋值的参数时, Delphi 会自动检查 TQuery 部件的 Datasource 属性, 如果为Datasource属性设置了属性值(该属性的值是另一个TDatasource部件的名字),Delphi 会把没有赋值的参数与TDatasource部件中的各字段比较,Delphi 会将相应的字段值赋给与其相匹配的参数,利用这种方法也能实现所谓的连接查询,我们在学习使用TTable部件时,便会创建主要--明细型数据库应用,用TQuery部件创建的连接查询与主要- -明细型应用是相似的。
例如:在如图17.7所示的应用中,设置了下列部件:
● 一个TTable部件
名字为Cust,它的DatabaseName属性为DEMOS,TableName属性为Customer。
● 一个TDatasource部件
名字为Custsource,其Dataset属性被设置为Cust。
● 一个TQuery部件
- ››sql server自动生成批量执行SQL脚本的批处理
- ››Delphi实现把10进制转换成16进制的函数进制转化
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››Delphi中将字符串按给定字符分隔(似split函数功能...
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
更多精彩
赞助商链接