用ADOQuery做的,表的字段有:
使用部门
使用人
编号
品牌型号
操作系统使用人字段有以下记录:
张三
李四
王八
等.
现在我想做到,搜索的关键字有两个,以字段名为关键字和以字段下某一内容为关键字如我想找使用人(可选)字段下的张三(可选)的记录.
又例如我想找编号字段下某一号码的记录.
我希望做到在能找出某一字段下符合要求记录.应该有两个动态变量,
不知如何写成sql语句!
不知各位明白我的意思没有.
但是无论如何都很感谢各位的帮忙.
使用部门
使用人
编号
品牌型号
操作系统使用人字段有以下记录:
张三
李四
王八
等.
现在我想做到,搜索的关键字有两个,以字段名为关键字和以字段下某一内容为关键字如我想找使用人(可选)字段下的张三(可选)的记录.
又例如我想找编号字段下某一号码的记录.
我希望做到在能找出某一字段下符合要求记录.应该有两个动态变量,
不知如何写成sql语句!
不知各位明白我的意思没有.
但是无论如何都很感谢各位的帮忙.
sql := 'select * form 你的表 where ' + 你的字段名的字符串变量 + 条件变量('=','<>')+你的值(根据类型而定)
只要最后形成字符串就行了
if 按条件一 then
sql.add( 'and 编号=:yourno');
//自己附值
if 按条件二 then
sql.add(' and 使用人=:ren');
//自己附值
不知如何写这个sql.与 geyobing所说的意思差不多。但是 geyobing所写的,我不是很明白。
能否详细一些。
combobox.items.add('select 使用人 from 表名');//在表單的oncreat中動態生成 根據條件查詢﹕AdoQuery.sql.add('select * from 表名 where 使用人=combobox.items.text');
然后选择字段,输入条件值,确定时,动态生成SQL语句。
当然,可以做的很完善,成为一个通用查询编辑器。Understand?
begin
close;
sql.clear;
databasename :=database1.databasename;
sql.text :=' select ';
if checkbox1.checked then
sql.text :=sql.text + 'dept 使用部门'; if checkbox2.checked then
sql.text :=sql.text + 'user 使用人';
....或者用POS
确定FROM位置
然后动态插入