PARAMETER ”PA2“NOT FOUND(38分)

  • 主题发起人 主题发起人 SmallA
  • 开始时间 开始时间
S

SmallA

Unregistered / Unconfirmed
GUEST, unregistred user!
WITH ADOQuery do
begin
close;
sql.Clear;
sql.add('insert into WXrecord(字段1,字段2,');
sql.Add('字段3,字段4');
sql.Add('values(:pa1,:pa2,:pa3:pa4)');
parameters.ParamByName('pa1').value:=Edit1.Text;
parameters.ParamByName('pa2').value:=MEMO.Text;
parameters.ParamByName('pa3').value:=ComboBox.Items.Text;
parameters.ParamByName('pa4').value:=MASKEDIT.Text;

F9后,报“ADOQUERY:PARAMETER ”PA2“NOT FOUND”。
就是除了EDIT可以,其他的都不行
 
是不是数据类型不匹配的原因呀?
 
将SQL直接放到QUERY中试试,看看是哪里出错?
 
还可以把真实数据带进去试试,看到底是sql的问题还是数据类型的问题。
 
这一句好象少了一个逗号:
sql.Add('values(:pa1,:pa2,:pa3:pa4)');
应该为:
sql.Add('values(:pa1,:pa2,:pa3,:pa4)');
 
WITH ADOQuery do
begin
close;
sql.Clear;
sql.add('insert into WXrecord(字段1,字段2,');
sql.Add('字段3,字段4');
sql.Add('values(:pa1,:pa2,:pa3,:pa4)');
ParamByName('pa1').value:=Edit1.Text;
ParamByName('pa2').value:=MEMO.Text;
ParamByName('pa3').value:=ComboBox.Items.Text;
parameters.ParamByName('pa4').value:=MASKEDIT.Text;

试了一下,好象应该这样
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
732
import
I
I
回复
0
查看
3K
import
I
I
回复
0
查看
2K
import
I
后退
顶部