关于Tquery控件(100分)

  • 主题发起人 主题发起人 yj
  • 开始时间 开始时间
Y

yj

Unregistered / Unconfirmed
GUEST, unregistred user!
在设置tquery控件的sql属性时,想把列名、关系符、值都设置成参数,在程序
运行时分别赋值,请问这样做是否可以,如可以请问如何解决。
(如把sql语句编写为:select * from sb where :v1 :v2 :z
在运行时分别对v1,v2,z赋值,v1为列名,v2为关系符,z为值,在运行时
用query1.params[0].asstring:='dk0408'
query1.params[1].asstring:='='
query1.params[2].asstring:='123'
但运行时出错,不知如何解决)
 
出错?
不如用
query1.parambyname['v1'].asstring:='dk0408';

下面如此炮制
 
没办法喽
 
不如自己写吧
query1.sql.clear;
query1.sql.add('select * from sb');
query1.sql.add('where '+v1+v2+z);
query1.open;
 
这样肯定不行,wrench的方法也达不到你的要求。
最好用视来解决
 
哎呀
没看清题目
不好意思

照小天的办法做
 
只能写在sql语句里啦。
 
用几个checkbox
var
selectstring:string;
begin
if checkbox1.checked then selectstr:=selectstr+'xingming,';
if checkbox1.checked then selectstr:=selectstr+'xingbie,';
if checkbox1.checked then selectstr:=selectstr+'nianling,';
if checkbox1.checked then selectstr:=selectstr+'zhengzhimianmao,';
delete(多余的一个逗号 )

执行:
query1.sql.clear;
query1.sql.add('select');
query1.sql.add(selectstring);
query1.spl.add('* from sb')
query1.open;
即可
 
多人接受答案了。
 
后退
顶部