其实你不用在界面上把每个需要查询的内容都列出来,你可以将表字段作为一个下拉表框,由其选择,然后录入相应的值,关系也用下拉框实际,由其选择,如果取值为空的话,请用函数实现ISNULL,
解决方案 »
- delphi使用循环语句向EXCEL插入多个图片,为何只有最后一张图片的大小是指定的大小?但如果单独插入一张图片却很正常? 小弟在此候教!
- 一个 D+SQL Server 的问题,问题很清楚,希望来几个高手帮帮忙
- Delphi 数据类型的问题
- 请推荐delphi的好书
- delphi 调用ole 导出数据到 Exel 时为什么不能操作其他的Excel 文档 急急...........
- 在线等!关于button组件属性的问题
- TDBChart
- 程序启动窗体出现的问题,导致系统主窗体最小化时不能到任务栏,只能到桌面左下角的问题,帮忙看一下代码!!
- 关于DELPHI6.0自带的报表打印的问题
- 北京资深程序员寻兼职,有展示作品!
- ShellListView中的文件名怎样取得?
- 如何通过编程来检测本机上网与否?
地区 (取值于 combobox2) 关系 =EdtReg.Text
金额 (取值于 edit1) 关系 >、<、=、>=、<= (取值于 combobox3)
时间 (取值于 datetimepicker1 和 datetimepicker2之间) 关系 >datetimepicker1 并且 <datetimepicker2if (ComboBox1.text<>'') and(EdtDept.Text<>'') then
StrSQL:=StrSQL+'and '+ComboBox1.text+'='''+EdtDept.text+''';
if (ComboBox2.text<>'') and(EdtReg.Text<>'') then
StrSQL:=StrSQL+'and '+ComboBox2.text+'='''+EdtReg.text+''';...//按这种规则写下去,得到StrSQLQuery.SQL.text:='select ... from table where 1<>2 and '+StrSQL;Query.Open;
另外用函数实现ISNULL,怎么实现
StrSQL:=StrSQL+'and 字段名='''+EdtDept.text+'''';这样一直加下去就行了。
StrSQL:=StrSQL+'and 字段名='''+ComboBox1.text+'''';这样一直加下去就行了
select * from (select * from ( ....(select * from x where 条件1)...) 条件n)
一个递归的方法就搞定了!