请教一个关于SQL数据库查询的问题!
查询代码如下:
if rb1.Checked then
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
if combobox1.Text= '全部 ' then
SQL.Add( 'select * from FKOUT ')
else
SQL.Add( 'select * from FKOUT where 型号 '+ ' ' ' '+combobox1.Text+ ' ' ' ');
Open;
end;
end;
现在的问题是,我选择COMBOBOX1的型号后,点查询能查询回F42-220这个数据,但是如果查询其他条件,如F42-100,F22-220,F22-100的时候,就没有数据返回,为什么会出现这种情况呢?
[解决办法]
表中没有数据:???
[解决办法]
查询语句有问题吧
你看一下你写的对吗
再就是看你写的数据是不是带空格 去掉试一试Trim()
[解决办法]
在Open前面,加上一句ShowMessage(SQL[0])看看生成的SQL语句是什么
[解决办法]
楼主你写错了
if rb1.Checked then
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
if combobox1.Text= '全部 ' then
SQL.Add( 'select * from FKOUT ')
else
SQL.Add( 'select * from FKOUT where 型号= '+ ' ' ' '+combobox1.Text+ ' ' ' ');//仔细看看我的和你的有什么不同
Open;
end;
end;
[解决办法]
从语句上看没有问题,改为一下试试:
SQL.Add( 'select * from FKOUT where 型号 like '+ ' '% ' '+combobox1.Text+ ' '% ' ');
[解决办法]
哈哈。这个好简单也
if combobox1.Text= '全部 ' then
SQL.Add( 'select * from FKOUT ')
你看看这段代码有问题吗?
所表达的意思没有表达完整。
if combobox1.text= ' ' then
if combobox1.text= ' ' then
....
SQL.Add..
SQL语句是没有问题的。只是你的表达颇不完整~
[解决办法]
if rb1.Checked then
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
if combobox1.Text= '全部 ' then
SQL.Add( 'select * from FKOUT ')
else
SQL.Add( 'select * from FKOUT where 型号 '+ 'quotedstr(combobox1.Text) ');
Open;
end;
end;
楼主试一下这个
[解决办法]
在不行的话。远程帮你瞄一瞄看看咯~~~还不信搞不定一个查询的问题~~~~
难道很困扰吗。~~
[解决办法]
把拼接的SQL语句ShowMessage出来看一下语句是否正确
[解决办法]
where 型号 '+ ' ' ' '+combobox1.Text+ ' ' ' ' 中间少了什么运算附吧?
[解决办法]
F42-100,F22-220,F22-100楼主确定你写的这几个值完全数据库里的写法一样吗?你把数据库里的值直接考出来试下~