SQL放到那里才可以把查询出来的显示到ListView1去!!!!
procedure TForm1.Button1Click(Sender: TObject);
var
sql1,sql2:string;
ID,I,m:Integer;
Item:TListItem;
sign1,sign2:string;
begin
// ListView1.Items.BeginUpdate;
sql1:='SELECT sign FROM smsdb..EastSMS_Submit_history where sendtime between '+quotedstr(DateToStr(DateTimePicker1.Date) )+' and '+quotedstr(DateToStr(DateTimePicker2.Date)+' 23:59:59')+' GROUP BY sign ';
ListView1.Items.Clear;
while not ADOQuery1.eof do
begin
ListView1.Items.BeginUpdate;
item:=ListView1.Items.add;
item.Caption:=IntToStr(ListView1.Items.Count);
item.SubItems.Add(ADOQuery1.FieldByName('sign').asString);
// item.SubItems.Add(ADOQuery1.FieldByName('创建日期').asString);
//item.SubItems.Add(ADOQuery1.FieldByName('文件路径').asString);
ADOQuery1.next;
ListView1.Items.EndUpdate;
[解决办法]
SQL语句使用open打开以后 就可以
while not ADOQuery1.eof do
循环加入了
你的没错 就是少了执行SQL语句
ADOQuery1.close; ADOQuery1.sql.clear; ADOQuery1.sql.text := '你的SQL语句'; ADOQuery1.open; ListView1.Items.Clear; while not ADOQuery1.eof do.........................
[解决办法]
BeginUpdate与EndUpdate
放在循环体外