2,499
社区成员
发帖
与我相关
我的任务
分享
CREATE PROCEDURE InsertSomeThing
(
@Name varchar(12),
@Age int
)
AS
begin transaction --开启事务
insert into table1(Name,Age) values(@Name,@Age) --插入数据
if @@error<> 0 --判断错误码
begin
rollback transaction --出错则回滚事务
select -1 as ErrorNo,'新增数据失败' as ErrorMessage
return -1 --返回 -1 作为错误码
end
commit transaction --提交事务
select * from table1(nolock) --返回结果集
return 0 --返回 0 表示没有发生错误
ADOStoredProc1.ProcedureName := 'InsertSomeThing'; --设置存储过程名称
ADOStoredProc1.Parameters.Refresh; --刷新ADOStoredproc1,让它自动取得存储过程的参数信息
ADOStoredProc1.Parameters.ParamByName('@Name').Value := StringOfName; //姓名
ADOStoredProc1.Parameters.ParamByName('@Age').Value := IntegerOfAge; //年龄
ADOStoredProc1.Prepared := true;
ADOStoredProc1.Open;
if ADOStoredProc1.Parameters.ParamByName('@RETURN_VALUE').Value = 0 then
begin//成功
//这里可以读取ADOStoredproc1的数据集记录
end else begin //失败
//新增数据失败
end;