主题:紧急求助!
下面一段代码,我在运行的时候有错误,可能是数据类型不匹配,dj字段的数据类型是货币型,其他的都是文本型。数据库是用Access。错误提示信息为:不正常地定义参数对象,提供了不一致或不完整的信息。
procedure TclXX.Posting; //提交数据
begin
if ActionCD='N' then
BEGIN
with DM.Qclxx do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO clxx(clbh,clmc,gg,cd,dw,dj,gysbh,gysmc,mem');
SQL.Add('Values(:clmc,:gg,:cd,:dw,:dj,:gysbh,:gysmc,:mem,:clbh)');
Parameters.Items[0].Value:=Edit2.Text;
Parameters.Items[1].Value:=Edit3.Text;
Parameters.Items[2].Value:=Edit4.Text;
Parameters.Items[3].Value:=Edit5.Text;
Parameters.Items[4].Value:=strtocurr(Edit6.Text);
Parameters.Items[5].Value:=Edit7.Text;
Parameters.Items[6].Value:=Memo1.Text;
Parameters.Items[7].Value:=Edit1.Text;
Prepared:=True;
ExecSQL;
end;
END else
if ActionCD='M' then
begin
With DM.QclXX DO
begin
Close;
SQL.Clear;
SQL.Add('update clxx Set clmc=:clmc1,');
SQL.Add('gg=:gg1,cd=:cd1,dw=:dw1,');
SQL.Add('dj=:dj1,gysbh=:gysbh1,gysmc=:gysmc1,mem=:mem1 Where clbh=:clbh1');
Parameters.Items[0].Value:=Edit2.Text;
Parameters.Items[1].Value:=Edit3.Text;
Parameters.Items[2].Value:=Edit4.Text;
Parameters.Items[3].Value:=Edit5.Text;
Parameters.Items[4].Value:=strtocurr(Edit6.Text);
Parameters.Items[5].Value:=Edit7.Text;
Parameters.Items[6].Value:=Memo1.Text;
Parameters.Items[7].Value:=ComboBox1.Text;
Parameters.Items[8].Value:=Memo1.Text;
Parameters.Items[9].Value:=DM.DSOclxx.FieldByName('clbh').AsString;
Prepared:=true;
ExecSQL;
end;
end;
end;
procedure TclXX.Posting; //提交数据
begin
if ActionCD='N' then
BEGIN
with DM.Qclxx do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO clxx(clbh,clmc,gg,cd,dw,dj,gysbh,gysmc,mem');
SQL.Add('Values(:clmc,:gg,:cd,:dw,:dj,:gysbh,:gysmc,:mem,:clbh)');
Parameters.Items[0].Value:=Edit2.Text;
Parameters.Items[1].Value:=Edit3.Text;
Parameters.Items[2].Value:=Edit4.Text;
Parameters.Items[3].Value:=Edit5.Text;
Parameters.Items[4].Value:=strtocurr(Edit6.Text);
Parameters.Items[5].Value:=Edit7.Text;
Parameters.Items[6].Value:=Memo1.Text;
Parameters.Items[7].Value:=Edit1.Text;
Prepared:=True;
ExecSQL;
end;
END else
if ActionCD='M' then
begin
With DM.QclXX DO
begin
Close;
SQL.Clear;
SQL.Add('update clxx Set clmc=:clmc1,');
SQL.Add('gg=:gg1,cd=:cd1,dw=:dw1,');
SQL.Add('dj=:dj1,gysbh=:gysbh1,gysmc=:gysmc1,mem=:mem1 Where clbh=:clbh1');
Parameters.Items[0].Value:=Edit2.Text;
Parameters.Items[1].Value:=Edit3.Text;
Parameters.Items[2].Value:=Edit4.Text;
Parameters.Items[3].Value:=Edit5.Text;
Parameters.Items[4].Value:=strtocurr(Edit6.Text);
Parameters.Items[5].Value:=Edit7.Text;
Parameters.Items[6].Value:=Memo1.Text;
Parameters.Items[7].Value:=ComboBox1.Text;
Parameters.Items[8].Value:=Memo1.Text;
Parameters.Items[9].Value:=DM.DSOclxx.FieldByName('clbh').AsString;
Prepared:=true;
ExecSQL;
end;
end;
end;