有combobox1,combobox2,combobox3,combobox4这样四个控件。想做一个查询。
如果让它们任意组合都能查到数据库中的内容。如何设计这个查询呀?寻找最好的办
法。我用的办法太笨了。初学DELPHI对程序设计也不是太懂。没思路。请多多指教。
不要嫌我太笨呀。
如果让它们任意组合都能查到数据库中的内容。如何设计这个查询呀?寻找最好的办
法。我用的办法太笨了。初学DELPHI对程序设计也不是太懂。没思路。请多多指教。
不要嫌我太笨呀。
解决方案 »
- 请高手帮下忙,设计时一个窗体,运行时可以生成两个或三这样独立的窗体,怎么做啊
- 关于delphi查询MS SQL数据库问题,请教高手!
- 恳求各位大下,关于分布式系统的问题100分,不够再加
- 【版务】Delphi社区第一届升星评选活动 结果推举名单
- qreport分组问题
- 怀疑我的窗口关闭后没有释放,简单代码,进来看看
- code explorer里面的输入格式是overwrite如何使它变为normal??
- tqurey取表中最大值的序号和dbgrid录入的名称 、数量插入表中。
- 哪里有DELPHI的VCL组件说明中文版下载?100分!
- 奇怪啦....Accesss数据库怎么不支持多表查询......
- 怎样可以使QRDBText控件里加上TLabel的Layout属性和功能呢???重分谢答
- 高手快来告诉我在Delphi里的SQL怎么取字符串长度的函数,告诉我啊,急!
用下面的方法
query1.close;
query1.sql.clear;
query1.sql.add('select * from 表名 where 字段1 like '+''''+cobobox1.text+'%'+''''+'and 字段2 like '+''''+cobobox2.text+'%'+''''+'and 字段3 like '+''''+cobobox3.text+'%'+''''+'and 字段4
like '+''''+cobobox4.text+'%'+'''');
query1.execsql;
query1.open;
我经常用以上方法做多条件查询
可能效率要低一些,不过如果你的记录不会超过100万条是看不出来慢的
你试试啊
小弟也是初学者
有机会多交流啊
字段名和like之间是有空格的
别忘了啊
query1.sql.clear;
query1.sql.add('select * from table where 1=1 ');
if combobox1.text<>'' then
query1.sql.add(' and name='''+combobox1.text+'''');
if combobox2.text<>'' then
query1.sql.add(' and unit='''+combobox2.text+'''');
if combobox3.text<>'' then
query1.sql.add(' and sex='''+combobox3.text+'''');
if combobox4.text<>'' then
query1.sql.add(' and address='''+combobox4.text+'''');
query1.open;