求助一条SQL语句 ( 积分: 20 )

  • 主题发起人 主题发起人 shenli.chongqin
  • 开始时间 开始时间
S

shenli.chongqin

Unregistered / Unconfirmed
GUEST, unregistred user!
sql.Add('select * from note_1 where :aaa = :bbb');
Parameters.ParamByName('aaa').Value:=trim(DBLookupComboboxEh1.Text);
Parameters.ParamByName('bbb').Value:=trim(combobox1.Text);
不知道 “where:aaa= :bbb”这种方式行不行???
 
不行.这样用才是正常的:where 字段名 = :bbb
要么你一定要选择字段名,可以动态构建SQL语句,而不使用参数
 
我的“:AAA”有30多项,那不是要写死人啊?有没简单点的方法????
 
要不你就把:aaa中的值添加到Combobox组件中,然后利用SQL语+Combobox.text即可实现!
如:
sql.add('select * from table1 where '+combobox1.text+' = '+' :bbb ');
 
定义两个变量
field,value:string;
在combobox1的onselect事件中
field := combobox1.test;
然后在事件中实现查询
with test do
begin
active := false;
sql.Clear;
sql.Text:='select * from worker where '+field+'='''+value+''' ';
active := true;
end;
经测试,可实现
 
procedure ExcelSQL(fieldname,condition:string);
begin
if query.actve then query.close;
query.sql.text:='selct * from table where '+field+'='''+condition+'''';
query.open;
end;
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
I
回复
0
查看
501
import
I
后退
顶部