ado 与access(200分)

  • 主题发起人 主题发起人 fzwwj
  • 开始时间 开始时间
F

fzwwj

Unregistered / Unconfirmed
GUEST, unregistred user!
我的一段程序如下:
procedure TForm4.CheckBox3Click(Sender: TObject);
var i:integer;
begin
i:=0;
with datamodule3.adoquery1 do
begin
checklistbox1.items.Clear;
close;
sql.clear;
sql.add('select str(时间),操作 from 工号 ,工号登入 ');
sql.add('where (工号.工号id=工号登入.工号id) and (工号代码=:mc) and (str(时间) like :dt )');
sql.add('order by 时间');
parameters.ParamByName('mc').value:= form2.edit1.Text;
parameters.ParamByName('dt').value:=formatdatetime('mm/dd/yy',date)+'%';
open;
showmessage(inttostr(recordcount));//可以显示recordcount=40个
first;
if not eof then
begin
checklistbox1.Items.Add(fields[0].asstring+fields[1].asstring);//但只能加上一个Item;
next;
i:=i+1;
showmessage(inttostr(i));//显示为‘1’
end
else showmessage('没找到');
end;

end;
为啥只能加上一个ITEM???[:(]求求大家看一看,找原因?
 
if not eof then
....
那当然添加一个了,因为你没有用循环while not eof() do 就OK了!!!
试试吧!
 
把 if not eof then 改为 while not eof do 就可以了。if 只能执行一次,while 就可以循
环了。
 
粗心的后果。。。。
 
是啊,把IF语句换为循环语句。
 
我检讨、我是混球!![:(]
 
多人接受答案了。
 
后退
顶部