当前位置:主页>销售管理软件> 列表

请教一个问题:怎么将查询出的多个结果,放在一个变量里,我想 找采购管理

销售管理软件版1楼: 我想写一个函数,将SQL语句查询出的某个字段的多个值放入一个变量里,供其他地方调用,请问怎么实现?我现有程序如下:
property intBrandID : Integer read GetBrandID;
function GetBrandID : Integer;
function TfmLogin.GetBrandID: Integer;
begin
qryLogin.Close;
qryLogin.SQL.Clear;
qryLogin.SQL.Add(''select intBrandID from t_provider_right'');
qryLogin.SQL.Add('' where USER_ID = :UserID'');
qryLogin.ParamByName(''UserID'').AsString := UserID;
qryLogin.Open;
Result := qryLogin.FieldByName(''intBrandID'').AsInteger;
qryLogin.Close;
qryLogin.SQL.Clear;
end;
但这样只能取到多个值中的第一个,怎么才能取到所有,急等

2楼: 等了一晚,怎么没有人能帮我呀?高人都过新年去啦?祝大家新年快乐![:)] 如 采购管理

3楼: //用TStrings,来做个数组属性吧

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBTables;

type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
FUserList : TStrings;
qryLogin : TQuery;
procedure ReadUserIDList;
function GetUserID(index: integer): string;
{ Private declarations }
public
{ Public declarations }
property UserID[index : integer] : string read GetUserID;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.GetUserID(index: integer): string;
begin
if (Index > -1) and (Index < FUserList.Count) then
result := FUserList.Strings[Index]
else
result := '''';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FUserList := TStringList.Create;
ReadUserIDList;//读取列表,供数组属性使用
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
FUserList.Free;
end;

procedure TForm1.ReadUserIDList;
begin
qryLogin.Close;
qryLogin.SQL.Clear;
qryLogin.SQL.Add(''select intBrandID from t_provider_right'');
qryLogin.SQL.Add('' where USER_ID = :UserID'');
qryLogin.ParamByName(''UserID'').AsString := UserID;
qryLogin.Open;

while not qryLogin.Eof do
begin
FUserList.Add(qryLogin.findField(''intBrandID'').AsString);
Next;
end;
qryLogin.Close;
qryLogin.SQL.Clear;
end;

end.

4楼: 查询结果本身是variant类型,不如用variant数组。

5楼: 用
Tstringlist啊
Tstrings是抽象类啊

6楼: OleVariant

销售管理软件版7楼: Tstrings 类
variant数组多可以的

8楼: 接受答案了.