一个表中有7个字段,现要根据7个字段里的任意若干个字段进行查询(就是说查询条件不一定),这样的SQL语句该怎么写?谢谢
解决方案 »
- keydown中关于ctrl+vk_up,高手请进
- 水晶報表數字型顯示的問題, 請各位幫忙.
- AdoQuery 的问题
- 你知道吗,这些是哪些第三方控件?请指点。。。
- 高分请教,我编写的多线程的Sock程序,运行后CPU占用100%。怎么办?在线等待!
- 怎么在已经存在的 dbf数据表中实现动态增加字段!!在线等待。。。高分赠送!!
- 誰知道哪有李維著的delphi5系列書下載網站(免費)
- 有没有办法把一个目录转变为文件,而在程序内部可以把其看作目录。
- 关于网络数据库开发的问题?
- 它妈的别,我做了好几个软件想来卖点钱,但好像是csdn出问题了,发送不了.怎么办.
- 请教 TUDPSocket的使用,请指出错误,为什么无法接受信息?
- 仓库管理软件中库存数量计算方式探讨
sql.add('select * from xxx where 1=1');
if edit1.text<>'' then
sql.add('and id='''+edit1.text+'''');
if edit2.text<>'' then
sql.add('and name='''+edit2.text+'''');
//...以此类推
close;
open;
end;
select * from 表名 where 1=0 or (ID=值 and 地址='值' and 其他字段...)Email:[email protected]
如果用户一个值都不输入就查询的话,是不是会得到整张表的内容呢?
var
sqlstr:String;
s:String; //条件字符串
begin
sqlstr:='select * from tablename'; s:='';
if Edit1.Text<>'' then s:=s+' ID='''+Edit1.Text+''' and';
if Edit2.Text<>'' then s:=s+' NAME='''+Edit2.Text+''' and';
if Edit3.Text<>'' then s:=s+' ADDRESS='''+Edit3.Text+''' and';
{... 其他4个条件类似} if s<>'' then
begin
s:=copy(s,1,length(s)-4); //去掉最后一个and
sqlstr:=sqlstr+' where'+s;
end;
query1.Close;
query1.SQL.Clear;
query1.SQL.Text:=sqlstr;
query1.Open;
end;