求教!将数据表的记录插入的listbox中出错!
求高手指点!我欲在list1中显示三天内生日的朋友信息,在list2中显示今天之前未完成的工作。BIRTH是生日字段,Plevel是工作进程字段。Mdate是日期字段。
procedure TForm2.FormShow(Sender: TObject);
var s:string;
begin
with dm.qry2 do
begin
s:='';
close;
sql.Clear ;
sql.Text:='select * from communicate where month(BIRTH)='''
+datetostr(monthof(date))+'''and day(BIRTH) between '''+datetostr(dayof(date))
+'''and '''+datetostr(IncDay(Date, 3)) +'''';
open;
if recordcount=0 then
begin
list2.Items.Clear ;
list2.Items.Add('最近三天没有朋友生日');
end
else
begin
list1.Items.Clear;
while not eof do
begin
s:= Trim(timetostr(FieldValues['Mtime']));
s := s + Trim(FieldValues['Mcomtent']);
List1.Items.Add(s);
end;
end;
end;
这是list1的代码,把list2的代码注释掉的话,运行不出错,但是就算有当天生日的也提取不出信息。这是怎么回事?
list2的代码:
with dm.qry3 do
begin
s:='';
close;
sql.Clear ;
sql.Text:='select * from plan where Plevel <> ''100%'' and Plevel<>'''''
+'and Mdate='''+datetostr(date)+'''';
open;
if recordcount=0 then
begin
list3.Items.Clear ;
list3.Items.Add('今天之前没有未完成的工作');
end
else
begin
list3.Items.Clear ;
while not eof do
begin
s:= Trim((FieldValues['Ptopic']));
s := s + Trim(FieldValues['Pcomtent']);
s := s + Trim(FieldValues['Plevel']);
List3.Items.Add(s);
end;
end;
end;
list2一运行就报错,提示ODBC参数不足,期待为1!看了半天,用断点运行,到if recordcount=0 then 就弹出错误提示。
求高手指点,这两个问题到底怎么回事?