很多时候,当我们查询数据库,我们只需要使用VARCHAR一列。 所以我做了一个很好的功能,查询数据库,并把结果放在一个StringList的:数据库变结构导致
function Getdatatostringlist(sqlcomponent, sqlquery: string): TStringlist;
我正在寻找现在基本上是相同的功能,但用在这里你不要多列结果事先知道数据是什么类型,是varchar,int,datetime。
什么样的数据结构的将是很好的在这里使用。
我想这样做的原因是,我尽量不开放数据集工作。我更喜欢将所有结果提取到临时结构中,关闭数据集并处理结果。
有关使用内存的数据集Kobiks答复后,我想出了下面,它的快速放在一起测试的概念:
procedure TForm1.Button2Click(Sender: TObject);
var
MyDataSet : TAdoDataSet;
begin
MyDataSet := GetDataToDataSet('SELECT naam FROM user WHERE userid = 1', ADOConnection1);
try
Form1.Caption := MyDataSet.FieldByName('naam').AsString;
finally
MyDataSet.free;
end;
end;
function TForm1.GetDataToDataSet(sSql: string; AdoConnection: TADOConnection): TAdoDataSet;
begin
Result := TAdoDataSet.Create(nil);
Result.LockType := ltBatchOptimistic;
Result.Connection := AdoConnection;
Result.CommandText := sSql;
Result.Open;
Result.Connection := nil;
end;
我觉得这是值得的基础上。
我认为这是我需要研究的内容。 – 2013-03-22 15:18:15