首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2012-03-11 
DELPHI调用存储过程//是用BDE的方式来连接的//这是SQL里创建的存储过程CREATEprocedurep_mysele02_insert@

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;

热点排行