Sql Server 中的output returnvalue的区别
来源:互联网 发布:温故而知新的知 编辑:程序博客网 时间:2024/05/16 00:41
1:ReturnValue只能返回0,1,-1这样的数据,局限性很大 ,而在存储过程中用OutPut参数,可以返回各种类型的数据,比较灵活方便。
ReturnValue 是用来返回错误码的,output是指存储过程传出参数 例如 :
@Flag varchar(20) output
sql存储过程:
create proc Test
@B varchar(50) output,
@C varchar(50)
as
begin
declare @A int
set @B=@C+'Return'
set @A=1000
return @A
end
@B varchar(50) output,
@C varchar(50)
as
begin
declare @A int
set @B=@C+'Return'
set @A=1000
return @A
end
c#程序代码:
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("server=(local);uid=sa;pwd=sa;database=ServerUForVhost1");
System.Data.SqlClient.SqlCommand comm = new System.Data.SqlClient.SqlCommand("Test", conn);
comm.CommandType = System.Data.CommandType.StoredProcedure;
//调用sqlhelper时这样写,单独不行:comm.Parameters.Add(不能addsqlparameter[])
//SqlParameter[] parameter ={
// new System.Data.SqlClient.SqlParameter("@A",System.Data.SqlDbType.Int,4),
// new System.Data.SqlClient.SqlParameter("@B",System.Data.SqlDbType.VarChar,50),
// new System.Data.SqlClient.SqlParameter("@C",System.Data.SqlDbType.VarChar,50)
// };
//parameter[2].Direction = ParameterDirection.Input;
// parameter[0].Direction = ParameterDirection.ReturnValue;
// parameter[1].Direction = ParameterDirection.Output;
comm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@A", System.Data.SqlDbType.Int, 4));
comm.Parameters["@A"].Direction = ParameterDirection.ReturnValue;
comm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@B", System.Data.SqlDbType.VarChar, 50));
comm.Parameters["@B"].Direction = ParameterDirection.Output;
comm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@C", System.Data.SqlDbType.VarChar, 50));
comm.Parameters["@C"].Value = "insertmsg";
conn.Open();
int i = comm.ExecuteNonQuery();
string result1 = comm.Parameters["@A"].Value.ToString();
string result2 = comm.Parameters["@B"].Value.ToString();
conn.Close();
System.Data.SqlClient.SqlCommand comm = new System.Data.SqlClient.SqlCommand("Test", conn);
comm.CommandType = System.Data.CommandType.StoredProcedure;
//调用sqlhelper时这样写,单独不行:comm.Parameters.Add(不能addsqlparameter[])
//SqlParameter[] parameter ={
// new System.Data.SqlClient.SqlParameter("@A",System.Data.SqlDbType.Int,4),
// new System.Data.SqlClient.SqlParameter("@B",System.Data.SqlDbType.VarChar,50),
// new System.Data.SqlClient.SqlParameter("@C",System.Data.SqlDbType.VarChar,50)
// };
//parameter[2].Direction = ParameterDirection.Input;
// parameter[0].Direction = ParameterDirection.ReturnValue;
// parameter[1].Direction = ParameterDirection.Output;
comm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@A", System.Data.SqlDbType.Int, 4));
comm.Parameters["@A"].Direction = ParameterDirection.ReturnValue;
comm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@B", System.Data.SqlDbType.VarChar, 50));
comm.Parameters["@B"].Direction = ParameterDirection.Output;
comm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@C", System.Data.SqlDbType.VarChar, 50));
comm.Parameters["@C"].Value = "insertmsg";
conn.Open();
int i = comm.ExecuteNonQuery();
string result1 = comm.Parameters["@A"].Value.ToString();
string result2 = comm.Parameters["@B"].Value.ToString();
conn.Close();
结果为: result1=1000;result2=insertmsgResult
- Sql Server 中的output returnvalue的区别
- Sql Server 中的output returnvalue的区别
- sql server 2005中的output子句
- sql server 2005中的output子句
- SQL Server 2005的output子句用法 output inserted.id
- SQL Server 2005的output子句用法 output inserted.id
- SQL Server 2005的OutPut子句用法
- SQL Server中OutPut子句的使用
- SQL Server 2005 T-SQL 中的OUTPUT子句语法
- 了解DML:SQL Server 2005中的新OUTPUT特性
- event.returnValue和return false的区别
- event.returnValue和return false的区别
- event.returnValue和return false的区别
- event.returnValue和return false的区别
- sql中的OUTPUT
- ORACLE和SQL SERVER的SQL语句中的一些区别
- Sql Server 存储过程 output
- SQL Server 2008 Merge语句的OUTPUT功能
- GSM蜂窝移动通信系统-----时分多址(TDMA)帧结构
- 网线的制作
- 新闻稿在线简介
- Google网络硬盘GDrive在几个月内即将成真?!
- 数字签名、数字证书、CA是什么?
- Sql Server 中的output returnvalue的区别
- Google公司介绍
- 删除潜在危机的系统存储过程
- Oracle(甲骨文亚洲研发中心)面试
- google全球副总裁/中国区总裁 李开复简介
- 字符、字节和编码—历史
- 手动脱UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo+修复
- tomcat启动加载类的顺序:
- 网络支付中目前存在的危险有哪些,用户应如何避免