如何从字段中获取值并分配给 TStringList?
How to get values from a field and assign to a TStringList?
如何从下图中获取所有用户名值并将它们转换为 TStringList
、字符串或 TMemo
?
我尝试了以下代码,但它没有用。
with q3 do
var txResul:stringlist
begin
Close;
SQL.Clear;
SQL.Add('SELECT*FROM user');
Open;
Next;
end;
txtResult.Add(q1.FieldByName('username').AsString);
假设您的屏幕截图是您调用的数据集,请执行如下操作:
procedure GetUserNames(DataSet : TDataSet; StringList : TStringList);
var
Field : TField;
begin
Field := DataSet.FieldByName('username');
StringList.BeginUpdate;
try
DataSet.DisableControls;
try
DataSet.First;
while not DataSet.Eof do begin
StringList.Add(Field.AsString);
DataSet.Next;
end;
finally
DataSet.EnableControls;
end;
finally
StringList.EndUpdate;
end;
end;
你可能会这样使用它
procedure TForm1.GetUsers;
var
TL : StringList;
begin
TL := StringList.Create;
try
GetUserNames(MyTable, TL);
Memo1.Lines.Text := TL.Text;
finally
TL.Free;
end;
end;
顺便说一句,如果您将 GetUserNames 的第二个参数更改为 TStrings,如 GetUserNames(DataSet : TDataSet; Strings : TStrings)
中那样,您可以直接将 Memo1.Lines 传递给它。
如何从下图中获取所有用户名值并将它们转换为 TStringList
、字符串或 TMemo
?
我尝试了以下代码,但它没有用。
with q3 do
var txResul:stringlist
begin
Close;
SQL.Clear;
SQL.Add('SELECT*FROM user');
Open;
Next;
end;
txtResult.Add(q1.FieldByName('username').AsString);
假设您的屏幕截图是您调用的数据集,请执行如下操作:
procedure GetUserNames(DataSet : TDataSet; StringList : TStringList);
var
Field : TField;
begin
Field := DataSet.FieldByName('username');
StringList.BeginUpdate;
try
DataSet.DisableControls;
try
DataSet.First;
while not DataSet.Eof do begin
StringList.Add(Field.AsString);
DataSet.Next;
end;
finally
DataSet.EnableControls;
end;
finally
StringList.EndUpdate;
end;
end;
你可能会这样使用它
procedure TForm1.GetUsers;
var
TL : StringList;
begin
TL := StringList.Create;
try
GetUserNames(MyTable, TL);
Memo1.Lines.Text := TL.Text;
finally
TL.Free;
end;
end;
顺便说一句,如果您将 GetUserNames 的第二个参数更改为 TStrings,如 GetUserNames(DataSet : TDataSet; Strings : TStrings)
中那样,您可以直接将 Memo1.Lines 传递给它。