ADOCommand1.ConnectionString :=cnn_str;
ADOCommand1.CommandText :='select * from table_1';
ADODataSet1.Recordset := ADOCommand1.Execute ; 
frxdbdataset1.DataSet:=ADODataSet1;这样写对吗?
为什么第一条记录显示不出来?

解决方案 »

  1.   

    下面两段代码第一段正常,第二段为什么从第二条记录开始显示。
    ==============
    第一段
    ==============   
        ADOQuery1.ConnectionString  := cnn_str;
        ADOQuery1.SQL.Clear ;
        ADOQuery1.SQL.Add('select * from table_1') ;
        ADOQuery1.open ;
        ADOQuery1.First;
        while not ADOQuery1.eof do
          begin
          showmessage('ADOQuery1' + ADOQuery1.Recordset.Collect[1] );
          ADOQuery1.Next;
          end;
    ===================
    第二段
    ===================
        ADOCommand1.ConnectionString :=cnn_str;
        ADOCommand1.CommandText :='select * from table_1';
        ADODataSet1.Recordset := ADOCommand1.Execute ;
        
        ADODataSet1.First;//注:如果没有这句就会从第一条记录开始。
        while not ADODataSet1.eof do
          begin
          showmessage('ADODataSet1' + ADODataSet1.Recordset.Collect[1] );
          ADODataSet1.Next;
          end;