注册 登录
编程论坛 Delphi论坛

10万火急啊  ADOQuery

wxc001003005 发布于 2006-03-31 23:22, 1170 次点击
请教大虾们:怎么给  用 ADOQuery 读数据库中的某个字段,然后把值赋给 ComboBox 啊?

[此贴子已经被作者于2006-3-31 23:23:29编辑过]


7 回复
#2
makebest2006-04-01 09:20
我写的一个通过 SQL 语句返回一个列表函数:
我用的是 ADODB.Connection 对象,
你可以参考这个编写类似的函数使用。

ComboBox1.items = getsqldatas('select id from table');

function GetSqlDatas(sql:String):TStrings;
var
rec : Olevariant;
s : String;
begin
result := TStringList.Create;
try
rec := cn.execute(sql);
while not rec.eof do
begin
try
s := rec.fields[0].value;
result.Add(s);
except
end;
rec.movenext;
end;
rec.close;
except end;
end;
#3
Huacn2006-04-01 18:44
如当你要取姓名这个字段的值时,就用
XX:=AdoQuery.FieldByName("姓名");
当然先用打开表,并指向你要取的哪条记录
#4
kelehaha52006-04-10 00:33

其实你可以用ADOTable 和 DBcomboBox 来做

步骤及各控键的属性设置如下:

1.Datasource1的DataSet属性设置为ADOTable1

2.DBcomboBox1的Datasource属性设置为Datasource1

3.ADOTable1的ConnectionString属性要连接到数据库,TableName属性选择数据库中的表,双击ADOTable1在字段编辑器上单击鼠标右键---Add all Files最后把Active属性设为True

4.可以在窗体上放上按钮,编程实现数据的浏览

例:procedure TForm1.Botton1Click(Sender: TObject);//实现下一笔数据的查询

begin

if not ADOTable1.eof do

ADOTable1.next;
end;

上一笔数据的查询将next改为prior,最后一笔last,第一笔first

希望可以帮到你

#5
yuxue19852006-04-13 11:09

adoquery1.FieldByName('xm').AsString:=combobox1.Text;

y郁闷不知道你问的问题是不是这个

这样多方面啊

还什么函数郁闷

#6
天马行空50282006-04-13 11:54
我经常使用的方法是: combobox1.items.add(adoquery1.fieldbyname('dfdfd'))
但我对fieldbyname是怎么用的,还是怎么清楚,另外如何访问dbgrid中的信息也不清楚,有谁能帮我吗?
#7
ensr20062006-04-14 16:04
楼上说的很正确!!
#8
yuxue19852006-04-15 10:59

访问DBGRID中的数据是必须要先得到数据库中的ID然后才能访问DBGRID中的数据

/给combobox,rzcombobox赋数据表某个字段的值
procedure TForm1.Button5Click(Sender: TObject);
begin
try
combobox1.clear; //清空
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('select * from yh_table');
dm.ADOQuery1.Open;
while not dm.ADOQuery1.Eof do
begin
rzcombobox1.Add(dm.ADOQuery1.fieldbyname('yh_mc').asstring);
combobox1.Items.Add(dm.ADOQuery1.fieldbyname('yh_mc').asstring);
dm.adoquery1.Next;
end;
except

end;
rzcombobox1.ItemIndex:=0;

end;

我把源代码给你看看把

1