下面的语句是一条动态sql语句:
select * from students where studentcode =: studentcode;
其中的变量studentcode便是一个参数变量,它由一个冒号引导,在程序运行过程中,必须要为该参数赋值,该条sql语句才能正确执行,每次运行应用程序时可以为该参数变量赋予不同的值。为参数赋值有三种方法:
①根据参数在sql语句中出现的顺序,设置tquery部件的params属性值为参数赋值。
②直接根据sql语句中各参数的名字,调用parambyname方法来为各参数赋值。
③将tquery部件的datasource属性设置为另一个数据源,这样将另一个数据源中与当前tquery部件的sql语句中的参数名相匹配的字段值赋给其对应的参数。利用这种方法也能实现所谓的连接查询,创建主要—明细型数据库应用。
在程序运行过程中,要想设置tquery部件的sql属性,必须首先调用close方法,关闭tquery部件,然后再调用clear方法清除sql属性中现存的sql命令语句, 最后再调用add方法为sql属性设置新的sql命令语句。例如:
query1.close {关闭query1)
query1.sql.clear {清除sql属性中的sql命令语句}
query1.sql.add(''select * from students'');
query1.sql.add('' where name ="lucy" '');
在为tquery部件设置sql属性时调用close方法总是很安全的,如果tquery部件已经被关闭了,调用close方法时不会产生任何影响。在应用程序中为sql属性设置新的sql 命令语句时,必须要调用clear方法以清除sql属性中现存的sql命令语句,如果不调用clear方法,便调用add方法向sql属性中设置sql命令语句,那么新设置的sql命令语句会追加在现存sql命令语句后面, 在程序运行时常常会出现出乎意料的查询结果甚至程序无法运行下去。
在这里要特别注意的,一般情况下tquery部件的sql属性只能包含一条完整的sql语句,它不允许被设置成多条sql语句。当然有些数据库服务器也支持在tquery部件的sql属性中设置多条sql语句,只要数据库服务器允许这样,我们在编程时可以为 sql 属性设置多条sql语句。
<< 上一页 [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] ... 下一页 >>