存储过程:
CREATE PROCEDURE [spDepotType_1]
(@DepotTypeName_1 [varchar](50),
@DepotTypeMemo_2 [varchar](500),
@DepotTypeId_3 [int]
)
as
declare @NameCount int
select @NameCount=count(*) from tblDepotType where DepotTypeName =@DepotTypeName_1
if @NameCount>0
return 1
else
begin tran
if @DepotTypeId_3 =0
begin
insert into tblDepotType
([DepotTypeName],[Memo])values(@DepotTypeName_1,@DepotTypeMemo_2)
end
if @DepotTypeId_3 <>0
begin
update tblDepotType
set
[DepotTypeName]=@DepotTypeName_1,
[Memo]=@DepotTypeMemo_2
end
return 0
commit tran
GO
delphi 代码:
with astaqryFind do
begin
Close;
StoredProcedure:='spDepotType_1';
Params.Clear;
Params.Add;
Params.ParamByName('@DepotTypeName_1').Value:=edtBranchCode.Text;
Params.ParamByName('@DepotTypeMemo_2').Value:='';
Params.ParamByName('@DepotTypeId_3').Value:=0;
ExecSQL;
ShowMessage(Params.ParamByName('return_value').Value);
end;我是这样写的,但是运行时它总是报错:找不到@DepotTypeName_1参数
请问应该怎么写
要用asta
ADO的我会
CREATE PROCEDURE [spDepotType_1]
(@DepotTypeName_1 [varchar](50),
@DepotTypeMemo_2 [varchar](500),
@DepotTypeId_3 [int]
)
as
declare @NameCount int
select @NameCount=count(*) from tblDepotType where DepotTypeName =@DepotTypeName_1
if @NameCount>0
return 1
else
begin tran
if @DepotTypeId_3 =0
begin
insert into tblDepotType
([DepotTypeName],[Memo])values(@DepotTypeName_1,@DepotTypeMemo_2)
end
if @DepotTypeId_3 <>0
begin
update tblDepotType
set
[DepotTypeName]=@DepotTypeName_1,
[Memo]=@DepotTypeMemo_2
end
return 0
commit tran
GO
delphi 代码:
with astaqryFind do
begin
Close;
StoredProcedure:='spDepotType_1';
Params.Clear;
Params.Add;
Params.ParamByName('@DepotTypeName_1').Value:=edtBranchCode.Text;
Params.ParamByName('@DepotTypeMemo_2').Value:='';
Params.ParamByName('@DepotTypeId_3').Value:=0;
ExecSQL;
ShowMessage(Params.ParamByName('return_value').Value);
end;我是这样写的,但是运行时它总是报错:找不到@DepotTypeName_1参数
请问应该怎么写
要用asta
ADO的我会
不过看你的存储过程有3个输入参数+1个return的输出参数
所以应该要4个Params.Add;