我的表单有5个下拉框,每个下拉框都从数据库表填充其ITEMS,我想写一个函数来实现,函数如下(上帖函数的错误已纠正):
问题:
下面get_list函数已经正确,但是,调用函数时却出错了,不知道怎么修改,即:
get_list('table1',dls); //执行到该句时为什么出错,提示:不正常地定义参数对象。提供了不一致或不完整的信息。
参数说明:
'table1'是ORACLE的一个表名
dls是下拉框的name值,类型为TComboBox
get_list函数如下:
procedure TForm3.get_list(ta:string; xlk:TComboBox);
//ta ---- ORACLE表名
//xlk ---- TComboBox类型的下拉框
begin
adoquery1.Connection:=datamodule2.to_xdcx;
with adoquery1 do
begin
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
xlk.Items.Add(fields[0].asstring);
next;
end;
xlk.itemindex:=0;
end;
end;
问题:
下面get_list函数已经正确,但是,调用函数时却出错了,不知道怎么修改,即:
get_list('table1',dls); //执行到该句时为什么出错,提示:不正常地定义参数对象。提供了不一致或不完整的信息。
参数说明:
'table1'是ORACLE的一个表名
dls是下拉框的name值,类型为TComboBox
get_list函数如下:
procedure TForm3.get_list(ta:string; xlk:TComboBox);
//ta ---- ORACLE表名
//xlk ---- TComboBox类型的下拉框
begin
adoquery1.Connection:=datamodule2.to_xdcx;
with adoquery1 do
begin
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
xlk.Items.Add(fields[0].asstring);
next;
end;
xlk.itemindex:=0;
end;
end;
解决方案 »
- 怎样自动更新程序?
- 这样的简单功能不知如何实现?
- 关于特殊字符的问题
- 我将建立库和表以及触发器的SQL语名都存在了一个.SQL文本文件中,我如何在Delphi中一次执行它呀。
- 哪位大哥知道在delphi中怎样调用API函数OpenLogFile ,或说说API函数OpenLogFile在那个*.DLL中?谢谢!
- Delphi7中用dbExpress連接MSSQL老是報錯;求教!!!!
- 急!!!!编译出错的问题。Undeclared identifier: 'PByte'
- Delphi 如何屏蔽JPEG Error 错误
- 请问用delphi做的数据库应用程序exe,放到那些没有delphi的机子上可以用吗?比如那些数据库文件的设置是如何的呢?
- stringreplace 怎么用?
- 哪里有中文的Dephi联机帮助下???能提供Dephi的命名规范吗???
- timer 怎么用 可以实现下面功能呢?
form3.ADOQuery1.sql.Add('SELECT * FROM ' + ta + 'WHERE state=''F0A''');
form3.ADOQuery1.sql.Add('SELECT * FROM ' + ta + ' WHERE state=''F0A''');
且你程序中没的定义参数
form3.ADOQuery1.sql.Add('SELECT * FROM ' + ta + ' WHERE state=:stat'
ADOQuery1.Parameters.ParamByName('stat').Value:=Quotedstr('F0A'); //这个可以