读书人

DELPHI调用存储过程,该怎么解决

发布时间: 2012-03-11 18:15:38 作者: rapoo

DELPHI调用存储过程
//是用BDE的方式来连接的

//这是SQL里创建的存储过程
CREATE procedure p_mysele02_insert
@myn1 varchar(50)= 'test1 ',
@myn2 varchar(20)= 'test2 ',
@myn3 varchar(20)= 'test3 '
as
insert into mysele02(出货单位,联系人,联系电话) values (@myn1,@myn2,@myn3)
GO


//这是我在DELPHI的代码
procedure TForm1.Button1Click(Sender: TObject);
begin
SP1.Close;
SP1.Prepared:=False;
SP1.StoredProcName:= 'p_mysele02_insert ';
SP1.Params.Clear;
SP1.Params.ParamByName( '@myn1 ').Value:=trim(Edit2.Text);
SP1.Params.ParamByName( '@myn2 ').Value:=trim(Edit3.Text);
SP1.Params.ParamByName( '@myn3 ').Value:=trim(Edit4.Text);
SP1.Prepared:=True;
SP1.ExecProc;
ShowMessage( '添加成功! ');
end;

//出错提示:SP1: Parameter '@myn1 ' not found


[解决办法]
var
spSel: TADOStoredProc;
begin
with spSel do
begin
close;
ProcedureName := 'p_my_insert;1 ';
Parameters.Refresh;//*
Parameters.ParamByName( '@myn1 ').Value:=trim(Edit2.Text);
Parameters.ParamByName( '@myn2 ').Value:=trim(Edit3.Text);
Parameters.ParamByName( '@myn3 ').Value:=trim(Edit4.Text);
try
open;
except
end;
end;
end;

读书人网 >.NET

热点推荐