RecordSet数据集获取心得

下午还在帮助一个朋友写串口程序,其中碰到一个数据库操作问题,我使用了一个ADOQuery,执行sql返回一个RecordSet,我想在一个Combobox控件中下拉出这个数据集的所有值,开始我写的代码如下:
query.SQL.Text:='select * from gps';
open;
if recordcount<>0 then
begin
for i:=0 to recordcount-1 do
begin
combobox.items.add(FieldByName('name').asString);
end;
end;

这样combobox有一组下拉数据,但是都是一样的,而且就是数据库中的第一条记录,就这个问题我问了一下同学,结果都么有答案,还是自己找api吧,仔细看了一下全部是中文的API,发现这个问题异常的简单,下面贴出我的解决方案:
with query do
begin
query.SQL.Text:='select * from gps';
open;
if recordcount<>0 then
begin
for i:=0 to RecordCount-1 do
begin
DW_Combox.Items.Add(query.Recordset.Fields[2].Value);
query.Recordset.MoveNext;
end;
end;
end;
这里的Fields[]中的参数表示你要显示的参数在数据集中的位置,也就是你在数据库中的位置!
ok,这样就成功的解决了!

你可能感兴趣的:(set)