存储过程学习笔记(二) 返回值
2011-04-11 10:29
260 查看
我们在写一些存储过程的时候总想获取到一些值,比方说,刚刚插入一条记录的ID,等等
(一)通过output获取返回值
存储过程如下
ALTER procedure [dbo].[teturn_test2]
@rg1 int output
as
set @rg1=123
说明:@rg1 为输出值
C#代码中接受
string connectStr = @"server=localhost\sql2005;database=store_procedure;uid=sa; pwd=;";
SqlConnection sqlConnection = new SqlConnection(connectStr);
SqlCommand sqlCommand = new SqlCommand("teturn_test2", sqlConnection);
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.Add(new SqlParameter("@rg1", SqlDbType.Int));
sqlCommand.Parameters[0].Direction = ParameterDirection.Output; //这一句表明这一参数为输出类型的
sqlConnection.Open();
sqlCommand.ExecuteNonQuery();
int rg1= (int)sqlCommand.Parameters[0].Value;
sqlConnection.Close();
(二)通过return获取返回值
存储过程如下
ALTER procedure [dbo].[return_test3]
@pid int
as
begin
if(@pid=0)
begin
return 100
end
else
begin
return 200
end
end
代码中获取如下
string connectStr = @"server=localhost\sql2005;database=store_procedure;uid=sa;pwd=;";
SqlConnection sqlConnection = new SqlConnection(connectStr);
SqlCommand sqlCommand = new SqlCommand("return_test3", sqlConnection);
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.Add(new SqlParameter("@result", SqlDbType.Int));
sqlCommand.Parameters.Add(new SqlParameter("@pid", SqlDbType.Int));
sqlCommand.Parameters[0].Direction = ParameterDirection.ReturnValue;
sqlCommand.Parameters[1].Value = 1;
sqlConnection.Open();
int r = sqlCommand.ExecuteNonQuery();
sqlConnection.Close();
int rg1 = (int)sqlCommand.Parameters[0].Value;
执行程序输出的根据@pid的值不同,返回不同的@result的值
(一)通过output获取返回值
存储过程如下
ALTER procedure [dbo].[teturn_test2]
@rg1 int output
as
set @rg1=123
说明:@rg1 为输出值
C#代码中接受
string connectStr = @"server=localhost\sql2005;database=store_procedure;uid=sa; pwd=;";
SqlConnection sqlConnection = new SqlConnection(connectStr);
SqlCommand sqlCommand = new SqlCommand("teturn_test2", sqlConnection);
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.Add(new SqlParameter("@rg1", SqlDbType.Int));
sqlCommand.Parameters[0].Direction = ParameterDirection.Output; //这一句表明这一参数为输出类型的
sqlConnection.Open();
sqlCommand.ExecuteNonQuery();
int rg1= (int)sqlCommand.Parameters[0].Value;
sqlConnection.Close();
(二)通过return获取返回值
存储过程如下
ALTER procedure [dbo].[return_test3]
@pid int
as
begin
if(@pid=0)
begin
return 100
end
else
begin
return 200
end
end
代码中获取如下
string connectStr = @"server=localhost\sql2005;database=store_procedure;uid=sa;pwd=;";
SqlConnection sqlConnection = new SqlConnection(connectStr);
SqlCommand sqlCommand = new SqlCommand("return_test3", sqlConnection);
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.Add(new SqlParameter("@result", SqlDbType.Int));
sqlCommand.Parameters.Add(new SqlParameter("@pid", SqlDbType.Int));
sqlCommand.Parameters[0].Direction = ParameterDirection.ReturnValue;
sqlCommand.Parameters[1].Value = 1;
sqlConnection.Open();
int r = sqlCommand.ExecuteNonQuery();
sqlConnection.Close();
int rg1 = (int)sqlCommand.Parameters[0].Value;
执行程序输出的根据@pid的值不同,返回不同的@result的值
相关文章推荐
- MySQL入门很简单-学习笔记 - 第14章 存储过程和函数
- MySql存储过程学习笔记
- Mysql存储过程学习笔记--建立简单的存储过程
- Mysql学习笔记七,存储过程和函数
- 存储过程(学习笔记)
- sql 学习笔记之:存储过程和用户自定义函数
- 【SQLSERVER学习笔记】分页存储过程+调用
- MySQL存储过程学习笔记
- oracle9i学习笔记,存储过程的建立及游标的用法!
- Oracle 学习笔记13 —— 存储过程
- SQL SERVER 存储过程学习笔记
- MYSQL存储过程和函数学习笔记
- 【个人学习笔记17之--存储过程浅谈】
- 存储过程学习笔记1
- oracle 存储过程和函数学习笔记
- 转载:提高DB2数据库SQL存储过程性能学习笔记
- 数据库存储过程学习笔记
- SQL Server 2005存储过程学习笔记——创建、修改存储过程
- 学习笔记:查看存储过程执行情况等
- java oralce 存储过程无返回值(学习一)