解决方案 »

  1.   

    Query.Open;
    ShowMessage(VarToStr(Query['field']));
      

  2.   

    用table或者query打开表后,table和query不就是数组了吗?
    何必...?
      

  3.   

    不会吧!我想用query的查询结果存入数组中,不是指组件数组。
      

  4.   

    {得到一条SQL语句中第一条记录的值
        输入:sDBName 数据库名(如 DBBankCard.DatabaseName)
              sSQLString SQL命令
        输出:当返回真时vValue数组中存放值
    }function GetSQLValue(oDatabase: TDatabase; sSQLString: string; var vValue: variant): Boolean;
    var
        __Query: TQuery;
        __i, __j: Integer;
    begin
        Result := False;
        DBErrorMessage := '';
        __Query := QuerySQL(oDatabase, sSQLString);
        if Assigned(__Query) then begin
            try
                if not __Query.IsEmpty then begin
                    __j := __Query.FieldCount;
                    if __j = 1 then vValue := __Query.Fields[0].Value
                    else begin
                        vValue := VarArrayCreate([0, __j - 1], varVariant);
                        for __i := 0 to __j - 1 do vValue[__i] := __Query.Fields[__i].Value;
                    end;
                    Result := True;
                end;
            except
                on E: Exception do DBErrorMessage := E.Message;
            end;
            __Query.Free;
        end;
    end;