首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

SQL放到那里才可以把查询出来的显示到ListView1去!解决办法

2012-02-10 
SQL放到那里才可以把查询出来的显示到ListView1去!!!!procedure TForm1.Button1Click(Sender: TObject)va

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语句

Delphi(Pascal) code
 ADOQuery1.close; ADOQuery1.sql.clear; ADOQuery1.sql.text := '你的SQL语句'; ADOQuery1.open; ListView1.Items.Clear; while not ADOQuery1.eof do.........................
[解决办法]
BeginUpdate与EndUpdate

放在循环体外

热点排行