C# 接受存储过程返回来的参数
来源:互联网 发布:淘宝手机单怎么做刷 编辑:程序博客网 时间:2024/05/16 13:48
1. 创建存储过程以 output 的方式
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].proRet') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].MYSQL
GO
Create PROCEDURE proRet
@a nvarchar(50),
@b nvarchar(50),
@c nvarchar(200) output
AS
Set @c = @a + @b
GO
C#程序如下:
using (SqlConnection con = new SqlConnection(DbHelperSQL.connectionString))
{
con.Open();
SqlCommand MyCommand = new SqlCommand("proRet", con);
MyCommand.CommandType = CommandType.StoredProcedure;
MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.NVarChar));
MyCommand.Parameters["@a"].Value = "abcdefg";
MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.NVarChar));
MyCommand.Parameters["@b"].Value = "AAAAA";
MyCommand.Parameters.Add(new SqlParameter("@c", SqlDbType.NVarChar,200));
MyCommand.Parameters["@c"].Direction = ParameterDirection.Output;
MyCommand.ExecuteNonQuery();
Response.Write(MyCommand.Parameters["@c"].Value.ToString());
}
请注意:
在SQL Server 2005中,使用存储过程时,传入参数可以不指定长度,但是传出参数必须指定长度
----------------------存储过程共有三种返回值-------------------
/*(一)、参数返回值@parm2;
(二)、过程返回值return 100;
(三)、数据集返回值select * from table1 where age = @parm1
请问,如何得到三类返回值?
*/
create table table1(
name varchar(30),
age integer,
primary key(name, age)
)
create procedure proc1
@parm1 integer,
@parm2 varchar(30) output
as
select @parm2 = 'zhongguo'
select * from table1 where age = @parm1
return 100
--(一)、参数返回值@parm2;
declare @re varchar(30)
exec proc1 1,@re out
select 返回结果=@re
--(二)、过程返回值return 100;
declare @re int,@parm2 varchar(30)
exec @re=proc1 1,@parm2 out
select 返回结果=@re
--(三)、数据集返回值select * from table1 where age = @parm1
--定义返回结果保存的临时表(因为是返回记录集,所以要用临时表)
--调用返回结果
--declare @re varchar(30)
--insert #re exec proc1 1,@re out
select * into #re from OPENROWSET('SQLOLEDB',
'SERVER=zhou;uid=sa;pwd=zhou;Database=pubs','SET FMTONLY OFF;SET NOCOUNT ON declare @re varchar(30) exec proc1 ''1'',@re out') as a
--显示结果
select * from #re
--处理完成后删除临时表
drop table #re
- C# 接受存储过程返回来的参数
- C# 接受存储过程返回值 和 output 返回值 .
- C#执行带参数,返回参数的存储过程
- 在存储过程中取得刚刚插入的记录的某个字段,将其输出,由C#接受OUTPUT返回参数
- c#调用带参数或返回值的存储过程
- c#执行sqlserver带返回参数的存储过程
- C#获得sql存储过程return返回的值和返回参数返回的值
- 【学习笔记】C#执行存储过程传入参数并返回output参数和return_value的方法
- 利用远程数据库存储过程的OUTPUT参数来获得返回值
- 存储过程调用或接受另一存储过程返回的游标数据(Sys_refcursor类型)
- SQL读取存储过程返回的参数
- 使用有返回参数的存储过程
- 调用有返回参数的存储过程
- 存储过程返回OUT参数的游标
- C#操作存储过程,输入参数,返回结果
- C#操作存储过程,输入参数,返回结果
- C#接收存储过程返回值和输出参数
- C#操作存储过程,输入参数,返回结果
- ACE篇之三:日志客户和服务器看守
- LUA复用代码
- location.search在客户端获取Url参数的方法
- db2 事务日志研究
- Linux系统工程师必学的系统管理命令
- C# 接受存储过程返回来的参数
- 十年总结(六):一些只开花不结果的项目,给了我学习的时间
- stm32 引脚功能设定及应用
- ACCESS"数据库提示它已经被别的用户以独占方式打开,或没有查看数据的权限"的问题
- winform中通过FileStream实现将文件上传
- EditPlus替换技巧(运用正则表达式)
- ACE篇之四:通过ACE日志策略进行运行时配置
- linux下配置jdk环境变量的几种方法
- 十年总结(七):学习JAVA,爱上JAVA