while ADODataSet1.Recordset.EOF =False do
begin
Inc(i);
ListItem:=ListView2.Items.Add ;
ListItem.Caption :=IntToStr(i);
ListItem.SubItems.Add(ADODataSet1.FieldValues ['username']);
ListItem.SubItems.Insert(1,ADODataSet1.FieldValues ['type']);
ListItem.SubItems.Insert(2,ADODataSet1.FieldValues ['score']);
ADODataSet1.Recordset.MoveNext ;
end;以上代码运行后为何在列表中看到若干项记录都是数据库表中的第一条记录?
begin
Inc(i);
ListItem:=ListView2.Items.Add ;
ListItem.Caption :=IntToStr(i);
ListItem.SubItems.Add(ADODataSet1.FieldValues ['username']);
ListItem.SubItems.Insert(1,ADODataSet1.FieldValues ['type']);
ListItem.SubItems.Insert(2,ADODataSet1.FieldValues ['score']);
ADODataSet1.Recordset.MoveNext ;
end;以上代码运行后为何在列表中看到若干项记录都是数据库表中的第一条记录?
while not ADODataSet1.EOF do
begin
Inc(i);
ListItem:=ListView2.Items.Add ;
ListItem.Caption :=IntToStr(i);
ListItem.SubItems.Add(ADODataSet1.FieldValues ['username']);
ListItem.SubItems.Insert(1,ADODataSet1.FieldValues ['type']);
ListItem.SubItems.Insert(2,ADODataSet1.FieldValues ['score']);
ADODataSet1.Next;
end;
这样应该可以,MoveNext有些数据库不支持。