各位大哥帮帮忙,我是新手问一个关于listview控件的问题,在线等

                            
procedure   TForm1.Button1Click(Sender:   TObject);   
  var  
      ListItem:TListItem;  
      index:integer;  
  begin  
      //setListView();  
   
      if   DataSource.DataSet   <>   nil   then  
          DataSource.DataSet.Free;  
      listView.Clear;  
      DataSource.DataSet:=   DMOperatorDB.fun_OpenQuery('select   *   from   publishers');  
      if   DataSource.DataSet.RecordCount   >   0   then  
      begin  
          //while   not   DataSource.DataSet.Eof   do  
          for   index:=0   to   DataSource.DataSet.RecordCount   -1   do  
          begin  
              {ListItem:=ListView.Items.Add;  
              ListItem.Caption:=DataSource.DataSet.FieldValues['pub_id'];  
              ListItem.SubItems.Add(DataSource.DataSet.FieldValues['pub_name']);  
              ListItem.SubItems.Add(DataSource.DataSet.FieldValues['city']);  
              ListItem.SubItems.Add(DataSource.DataSet.FieldValues['state']);  
              ListItem.SubItems.Add(DataSource.DataSet.FieldValues['country']);}  
              ListView.Items.Add;  
              ListView.Items.Item[index].Caption:=FieldByName('pub_id').AsString;  
              ListView.Items.Item[index].SubItems.Add(DataSource.DataSet.FieldValues['pub_name']);  
              ListView.Items.Item[index].SubItems.Add(DataSource.DataSet.FieldValues['city']);  
              ListView.Items.Item[index].SubItems.Add(DataSource.DataSet.FieldValues['state']);  
              ListView.Items.Item[index].SubItems.Add(DataSource.DataSet.FieldValues['country']);  
   
              //next;  
          end;  
      end  
      else  
              if   DataSource.DataSet   <>   nil   then  
                  DataSource.DataSet.Free;  
   
  end;  
   
  我不明白显示到listview上总是数据库中的第一条记录,显示8次(因为有8条记录)  
  而不显示其他7条,我的程序问题出在哪里,请各位大哥帮忙指点小弟一下,小弟先行谢过

查看回复