WEB开发网
开发学院数据库MSSQL Server Delphi中的SQL编程 阅读

Delphi中的SQL编程

 2007-11-11 13:08:18 来源:WEB开发网   
核心提示: 例如:一个TQuery部件Query1,我们为它编写的动态SQL语句是:Insert Into Customer(CustNo,Name,Country)Values(:CustNo,:Name, : Country)对于上述这条动态SQL语句中的参数,Delphi中的SQL编程(9),我们可以利用TQuery部件的

例如:一个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部件

上一页  4 5 6 7 8 9 10 11 12  下一页

Tags:Delphi SQL 编程

编辑录入:coldstar [复制链接] [打 印]
赞助商链接