读书人

咨询根据数据库表名动态更新下拉框的函

发布时间: 2012-03-29 12:53:12 作者: rapoo

咨询根据数据库表名动态更新下拉框的函数的参数传送问题
我的表单有5个下拉框,每个下拉框都从数据库表填充其ITEMS,我想写一个函数来实现,可是点击F9按钮运行时,在xla.Items.Add(fields[0].asstring);就出错了,提示:Record,object or class tupe required,请问,这个函数应怎么修改:

procedure TForm3.get_table(table_name: string; xia_la_kuan:string);
var
ta:string;
xla:string;
begin
ta:=table_name;
xla:=xia_la_kuan;
adoquery1.Connection:=datamodule2.to_xd;
with adoquery1 do
Close;
form3.ADOQuery1.sql.Clear;
form3.ADOQuery1.sql.Add('SELECT * FROM :ta WHERE state=''F0A''');
form3.ADOQuery1.open;
form3.ADOQuery1.first;
while not eof do
begin
xla.Items.Add(fields[0].asstring);
next;
end;
xla.itemindex:=0;
end;
end;

然后,在表单的OnCreate事件里加上下面语句
get_table('my_table_name1','xia_la_kuan_name1');
get_table('my_table_name2','xia_la_kuan_name2');
get_table('my_table_name3','xia_la_kuan_name3');
get_table('my_table_name4','xia_la_kuan_name4');
get_table('my_table_name5','xia_la_kuan_name5');

[解决办法]
with adoquery1 do 中的 AdoQuery1 和 form3.ADOQuery1 是否同一个?

xla.Items.Add(fields[0].asstring); xla是字符串类型,怎么能xla.Items.Add(fields[0].asstring)?
[解决办法]
form3.ADOQuery1.sql.Add('SELECT * FROM :ta WHERE state=''F0A''');
:ta这个参数没有指明是什么。

读书人网 >.NET

热点推荐