请帮我看看这个SQL程序(0分)

Q

qiqini

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
begin
query1.SQL.Clear;
query1.sql.Add('select * from usermana');
query1.SQL.add('where workernum is not null');
if ((sender=button1) and (edit1.text<>'')) then query1.SQL.add('and workernum like ''%'+edit1.text+'%'' ');
query1.Close ;
query1.Open ;
end;
我想在查询出记录的同时弹出一个message,显示“共查询出?条记录”,请问怎么实现
 
query1.Close ;
query1.Open ;后面加
if Query1.recordcount>0 then
i;=query1.recordcount;
showmessage('共有'+inttostr(i)+'条记录');
 
谢谢Qv15,可是为什么我什么都没输结果查询记录是1243376条记录啊!
 
你看看这段代码,我编译过的,可以的。
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
query1.SQL.Clear;
query1.sql.Add('select * from usermana');
query1.SQL.add('where workernum is not null');
if (edit1.text<>'') then
query1.SQL.add('and workernum like ''%'+edit1.text+'%'' ');
query1.Close ;
query1.Open ;
i:=query1.RecordCount;
if i>0 then
showmessage('共有'+inttostr(i)+'条记录')
else
showmessage('no this record');
end;
 
谢谢zxhxll,可惜我现在没有多少分值了,真的很感谢
 
你的SQL语句的逻辑有问题。
你想如果SENDER,并且TEXT1。TEXT 《》 ‘’才会加入下一句如果你什么都不输则条件不成立。
SQL语句变为:
select * from usermana
where workernum is not null
而数据库WORKERNUM应该大部分不是空所以会有很多记录被查询出来。
 
顶部