一个关于QUERY控件的问题?(100分)

  • 主题发起人 主题发起人 xxwxd
  • 开始时间 开始时间
X

xxwxd

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个窗体中引用了一个数据库单元,我在窗体上添加了一个按钮并在按钮的点击事件
里添加如下代码,
dm1.query1.close;
dm1.query1.clear;
dm1.query1.add('select * from clda.dbf where cllx=:tt');
dm1.query1.open;
dm1.query1.parambyname('tt').asstring:='1234';
我一单击这个按钮就
弹出一个错误对话框
project project1.exe raised exception class EdatabaseError with message
'query1:parameter 'num' hot found'
process stoped use step or run to contionue.
请各位回答我这个问题?
 
1. your query statement seems missing something, should it be like below?
adoQuery1.SQL.Clear;
adoQuery1.SQL.Add(newSQL);

2. can you check the adoQuery1's parameters property to see if there is a
a parameter - num,

3. a sample might be useful:

procedure TForm1.Button1Click(Sender: TObject);
var
custNo:integer;
newSQL:string;
begin
custNo:=1221;
newSQL:='select * from customer WHERE CustNo = '+intToStr(custNo);
adoQuery1.Active:=true;
adoQuery1.close;
adoQuery1.SQL.Clear;
adoQuery1.SQL.Add(newSQL);
adoQuery1.open;
end;
 
dm1.query1.close;
dm1.query1.clear;
dm1.query1.add('select * from clda.dbf where cllx=:tt');
dm1.query1.parambyname('tt').asstring:='1234';//注意拉
dm1.query1.open;
 
位置不对,应先传参数后open
但怎么提示num ,是不是有其他地方也不好
 
细心、细心、再细心![:D][:D][:D]
 
你是不是要刷新参数,应该是先传参数,再打开
 
你在QUERY1里有NUM参数,所以报错。
贴出来的代码NCYHT适合你。
 
接受答案了.
 
后退
顶部