返回存儲過程的多個輸出字段

原创 2007年09月18日 15:05:00

存儲過程:
CREATE procedure User_Login
@user_id varchar(20),
@password varchar(50),
@Return_Status char(1) output,
@user_name varchar(20) output,
@dept varchar(20) output,
@duty varchar(20) output,@Evaluate varchar(1)='N' output
AS
declare @dept_id varchar(4)
declare @duty_id varchar(4)
select @dept=''
select @duty=''
select @user_name=''
select @return_status='0' --不知明錯誤

if exists(select user_id from user_list where user_id=@user_id)
begin
if exists(select user_id from user_list where user_id=@user_id and password=@password)
begin
select @user_name=user_name,@dept_id=dept_id,@duty_id=duty_id,@Evaluate=is_Evaluate from user_list where user_id=@user_id and password=@password
select @dept=sname from dept_list where dept_id=@dept_id
select @duty=sname from duty_list where duty_id=@duty_id
select
@return_status='3'--正確登錄
end
else
select @return_status='2'--密碼錯誤
end
else
select @return_status='1'--用戶名不存在
GO

方法:
public string[] user_login(string user_id,string password)
{ mabuchi.Class.SqlHelper sqlhelper = new SqlHelper();
string [] erp = new string [5]; //接收数组
SqlParameter [] paramlist = { sqlhelper.CreateInParam("@User_id",SqlDbType.VarChar,20,user_id),
sqlhelper.CreateInParam("@password",SqlDbType.VarChar,50,password),
sqlhelper.CreateOutParam("@Return_Status",SqlDbType.VarChar,1),
sqlhelper.CreateOutParam("@user_name",SqlDbType.VarChar,1),
sqlhelper.CreateOutParam("@dept",SqlDbType.VarChar,20),
sqlhelper.CreateOutParam("@duty",SqlDbType.VarChar,20),
sqlhelper.CreateOutParam("@Evaluate",SqlDbType.VarChar,1)
};
try
{
sqlhelper.RunProc("User_Login ",paramlist);
erp[0] = paramlist[0].Value.ToString();
...
erp[4] = parmlist[6].Value.ToString();
return erp;
}

 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

存储过程分割一个字段为多个值

如图有这样一个需求:需要根据serv_code=111得到对应的cmd_list中的值,并且,要将1000,1001,1002分别分割出来插入到另一个表中。create table yyb_serv ...

为表名不同但属性相同的多个表添加字段的mysql存储过程示例

/* 在hmp DB服务器上执行一下sql */ /* modify table [hmp_data_glucose_XXX] structure */ USE  bwfHmp; DROP PROCE...

JAVA调用sqlserver存储过程的实现(返回多个结果集的实现)

1、存储过程 USE [YZC_BI] GO /****** Object: StoredProcedure [dbo].[CalYlfwColumnData] Script Date: 0...

存储过程返回多个结果集直接在MSSQL里合并

论坛中讨论过同一存储过程中多个 select 语句返回后结果集直接在 SQL 中合并的问题,未见到明确的解答,以前只知道可以通过客户端程序用nextRecord方法处理多个结果集,今天试了一下,对同一...

mybatis调用存储过程返回多个结果集

我使用的是mysql数据库,映射2个实体对象:Account ,BankWatermybaits调用的时候需要使用resultMap属性由于mysql数据库支持存储过程使用select返回结果集,所以...

微软企业库调用Oracle存储过程返回(1个或多个)数据集

以前用企业库读SQL Server返回数据集没任何问题,可以返回1个也可以返回多个,读Oracle的时候返回一个数据集的时候也没问题,可是最近在用Oracle返回多个数据集的时候却出了问题,几经辗转,...

调用Oracle存储过程返回(1个或多个)数据集

以前用企业库读SQL Server返回数据集没任何问题,可以返回1个也可以返回多个,读Oracle的时候返回一个数据集的时候也没问题,可是最近在用Oracle返回多个数据集的时候却出了问题,几经辗转,...

Hibernate调用mysql存储过程,返回多个参数的方法

1:创建存储过程的语句    DELIMITER $; DROP PROCEDURE IF EXISTS `xx`.`findUVCountByTime`$ CREATE PROCEDU...

理解JBDC更新计数行以及调用存储过程返回多个结果集

在开始本文的时候,我们先了解SQL SERVER中的一个命令   SET NOCOUNT ON; 执行该命令 表示不返回计数行,什么是计数行了,比如我们执行 DELETE ,UPDATE,INSE...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)