ADO

我用ADO操作数据库,用lpRS打开记录集,我用SQL语言筛选了数据库,下一步要遍历该记录集,逐条取得记录中几个字段中的值,我要怎样取得字段中的值?

解决方案 »

  1.   

    while not adoquery.eof do//行循环
        begin
        for i=0 to adoquery.recordcount-1 do//列循环
           s:=adoquery.fields[i].value;
        adoquery.next;
        end;
      

  2.   

    with adoquery1 do
    begin
      first;
      while not eof do
      begin
        s:= fieldbyname('字段名').asstring;
        next;
      end;
    end;
      

  3.   

    for i:=0 to ADOQuery.Fields.Count-1 do
    begin
      s:=ADOQuery.Fields[i].AsString;
    end;
      

  4.   

    楼上几位成心不想让楼主得到正确答案呀,特别是楼上的,呵呵。
    我现在不管楼主遍历的目的是什么,我模拟一下把记录集中所有的记录存放到一个
    TStringList对象里,并由它输出到文本文件中的情况,下面是伪码表示。
    var
      myStringList : TStringList;
      addString : string;
      I : Integer;
    begin
      myStringList := TStringList.Create;
      with ADOQuery do
      begin
        try
          if not Active then
            Open;
          //遍历部分从此开始
          while not Eof then
          begin
            addString := '';
            for I := 0 to FieldCount - 1 do
              addString := addString + '  ' + Fields[I].AsString;//'  '表示多个空格
            myStringList.Add(addString);
            Next;
          end;
          //遍历部分结束
          myStringList.SaveToFile('C:\Test.txt');
        finally
          myStringList.Free;
          Close;
        end;
      end;
    end;