终于弄明白存储过程怎么得到返回的参数了
2013-10-22 10:57
369 查看
以发一篇文章为例
有一个sql存储过程名叫Add内容是
USE [News]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
------------------------------------
--用途:增加一条记录
--项目名称:
--说明:
--时间:2013/10/22 10:14:34
------------------------------------
ALTER PROCEDURE [dbo].[NewsTable_ADD]
@ID int output,
@Title nvarchar(100),
@Content nvarchar(500)
AS
INSERT INTO [NewsTable](
[Title],[Content]
)VALUES(
@Title,@Content
)
SET @ID = @@IDENTITY
//C#文件内容是
SqlParameter[] parameters = {
new SqlParameter("@Id", SqlDbType.Int),
new SqlParameter("@Title", "tbTitle.Text"),
new SqlParameter("@Content", "tbContent.Text")
};
//将第一个outPut参数Direction参数设置为ParameterDirection.Output
parameters[0].Direction = ParameterDirection.Output;
parameters[1].Value = tbTitle.Text;
parameters[2].Value = "内容";
int dt = SQLHelper.ExecuteStoringProcess("ADD", parameters);
//sqlHelper的执行命令是
public static int ExecuteStoringProcess(string sqlCommand, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connectionStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sqlCommand;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(parameters);
cmd.ExecuteNonQuery();
return cmd.ExecuteNonQuery();
}
}
}
不需要DataTable 不需要SqlDataAdapter
返回值从parameters[0].Value就可以得到了
有一个sql存储过程名叫Add内容是
USE [News]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
------------------------------------
--用途:增加一条记录
--项目名称:
--说明:
--时间:2013/10/22 10:14:34
------------------------------------
ALTER PROCEDURE [dbo].[NewsTable_ADD]
@ID int output,
@Title nvarchar(100),
@Content nvarchar(500)
AS
INSERT INTO [NewsTable](
[Title],[Content]
)VALUES(
@Title,@Content
)
SET @ID = @@IDENTITY
//C#文件内容是
SqlParameter[] parameters = {
new SqlParameter("@Id", SqlDbType.Int),
new SqlParameter("@Title", "tbTitle.Text"),
new SqlParameter("@Content", "tbContent.Text")
};
//将第一个outPut参数Direction参数设置为ParameterDirection.Output
parameters[0].Direction = ParameterDirection.Output;
parameters[1].Value = tbTitle.Text;
parameters[2].Value = "内容";
int dt = SQLHelper.ExecuteStoringProcess("ADD", parameters);
//sqlHelper的执行命令是
public static int ExecuteStoringProcess(string sqlCommand, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connectionStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sqlCommand;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(parameters);
cmd.ExecuteNonQuery();
return cmd.ExecuteNonQuery();
}
}
}
不需要DataTable 不需要SqlDataAdapter
返回值从parameters[0].Value就可以得到了
相关文章推荐
- java规范(一)------方法设计---返回多参数的方法怎么封装
- 怎么测试含有type参数的存储过程
- php如何通过get方法发送http请求,并且得到返回的参数
- asp.net 获得存储过程 返回值,影响行数,输出参数 output 用法
- 关于在SQLSERVER2000中存储过程调用存储过程返回参数的问题
- C#使用带返回参数的存储过程
- java规范(一)------方法设计---返回多参数的方法怎么封装
- hibernate里使用jdbc方式调用oracle带游标返回参数的简单分页存储过程
- SQL Server存储过程返回参数
- ASP.Net 调用存储过程,同时返回记录集和输出参数
- 在asp中怎么调用带输出参数的存储过程
- 使用有返回参数的存储过程
- Java方法参数太多怎么办—Part6—方法返回值
- C# 调用存储过程操作 OUTPUT参数和Return返回值
- Ibatis调用存储过程返回参数
- [转]Entity FrameWork利用Database.SqlQuery<T>执行存储过程并返回参数
- ASP 调用存储过程,同时返回记录集和输出参数
- SpringMvc接受存储过程返回的OUT(输出)类型的参数的值
- PHP_PDO 调用mysql 带返回参数的存储过程
- 程序调用存储过程 输出参数返回0的问题