sqlhelper存储过程 事务 输出参数

--存储过程
ALTER PROCEDURE testTrans1
(@rtn INT OUTPUT)
AS

BEGIN TRAN

IF(2<3)
BEGIN
ROLLBACK TRAN
SET @rtn=0;
RETURN @rtn;
END

commit tran
SET @rtn=1;
RETURN @rtn;

DECLARE @rtn INT
EXEC testTrans1 @rtn OUT
PRINT @rtn

------------------------------------------------------------

c#代码

SqlParameter[] parameters = {
new SqlParameter("@rtn",SqlDbType.Int)
};
parameters[0].Direction = ParameterDirection.Output;

DalBase.ExecuteNonQuery(CommandType.StoredProcedure, "testTrans1", parameters);

int nRtnNum = 0;
nRtnNum = Convert.ToInt32(parameters[0].Value);

时间: 2024-10-26 03:24:47

sqlhelper存储过程 事务 输出参数的相关文章

【Mysql 调用存储过程,输出参数的坑】

玛德,数据行都返回过来了,就是没有输出参数!!! 扒官方设计文档:这么一段 雷死人了!!! When a stored procedure is called using MySqlCommand.ExecuteReader, and the stored procedure has output parameters, the output parameters are only set after the MySqlDataReader returned by ExecuteReader i

调用存储过程丢失输出参数小数点后面的数值

http://www.jianshu.com/p/355d96650ff1 需要手动指定保留位数就好,例子: var allAmount = SqlDbType.Decimal.Out("AllAmount"); allAmount.Scale = 5; allAmount.Precision = 18; cmd.Parameters.Add(allAmount);

sqlserver 存储过程 带输出参数

亲测可用 CREATE PROCEDURE [dbo].[output] @acctNbr varchar(50), --会员卡号 @acctPwd1 nvarchar(50) OUT, --登录密码 @acctPwd2 nvarchar(50) OUT, --支付密码 @acctName nvarchar(50) OUT --会员卡号 as begin select @acctPwd1=AcctPswd1,@acctPwd2=AcctPswd2,@acctName=AcctName from

创建有输出参数的存储过程并在c#中实现DataGridView分页功能

不足之处,欢迎指正! 创建有输出参数的存储过程 if exists(select * from sysobjects where name='usp_getPage1') drop procedure usp_getPage1 go create procedure usp_getPage1--存储过程名称 @count int output,--输出参数 @countIndex int=1,--参数带默认值 @countPage int=5--参数带默认值 as --一个sql语句.ROW_N

mybatis 调用mysql存储过程 带输出输入参数

http://lohasle.iteye.com/blog/1669879 存储过程都是一样的,只是根据自己的喜好,可以用MAP或者JAVABEAN传递参数. Sql代码   -- -------------------------------------------------------------------------------- -- Routine DDL -- Note: comments before and after the routine body will not be

Hibernate调用带有输入参数,输出参数为cursor的存储过程

一.Oracle创建表及存储过程 1.创建表T_MONITOR_DEVICE 创建后的表结构 2.创建存储过程 create or replace procedure ProcTestNew(v_monitordeviceid in number,curdata out sys_refcursor ) As begin open curdata for select ID, IP,PORT from T_MONITOR_DEVICE where id=v_monitordeviceid;--带参

C# 调用带有输出参数的分页存储过程

一.创建带有输出参数的分页存储过程 1 use StudentMISDB 2 go 3 select * from Course 4 alter table Course 5 add IsDelete int not null default 0 6 go 7 select * from Course where IsDelete=1 8 9 --update Course set IsDelete=0 10 11 ---循环 添加数据 12 --declare @index int 13 --

JdbcTemplate执行带输入参数和输出参数的存储过程

直接上代码: /** * 执行返回一个输出参数,若干输入参数的存储过程 * 方法第一个参数为存储过程名称,第二个参数为存放输入参数的数组(按顺序存放),方法返回值为存储过程输出参数 */ public String execProcedureWithOutParam(final String procName,final String[] inParams){ String returnVal=(String)getJdbcTemplate().execute(new CallableState

sql server 带输入输出参数的分页存储过程(效率最高)

create procedure proc_page_withtopmax ( @pageIndex int,--页索引 @pageSize int,--每页显示数 @pageCount int output,--总页数,输出参数 @totalCount int output--总条数 ) as begin set nocount on; declare @sql nvarchar(1000) set @sql='select top 10 * from tb_testtable where (