首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

存储过程中的返回值有关问题

2012-02-17 
存储过程中的返回值问题存储过程中的RETURN值在代码中如何接收?exists的值怎么来的?ALTERPROCEDUREHR_Pers

存储过程中的返回值问题
存储过程中的RETURN值在代码中如何接收?
exists的值怎么来的?
ALTER   PROCEDURE   HR_Personnel_Login
(
@UserIDvarchar(50),
@Passwordvarchar(50)
)
  AS
if   exists
(
SELECT   USRID  
FROM   HR_PersonnelInfo  
  WHERE   USRID   =   @UserID  
AND   UsrPassword   =   @Password
)
RETURN   0  
if   exists
(
SELECT   USRID  
FROM   HR_PersonnelInfo  
  WHERE   USRID   =   @UserID  
)
RETURN   1
RETURN   2



[解决办法]
parameter.Direction = ParameterDirection.ReturnValue;

exists得意思是如果
SELECT USRID
FROM HR_PersonnelInfo
WHERE USRID = @UserID
AND UsrPassword = @Password
有记录则返回 true

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
[解决办法]
SqlConnection conn = new SqlConnection( "server=.;pwd=sa;uid=sa;database=northwind ");
SqlCommand cmd = new SqlCommand( "ww ",conn);
cmd.CommandType = CommandType.StoredProcedure;
int a = 0 ;

SqlParameter wwww = new SqlParameter();
wwww.Direction = ParameterDirection.InputOutput;
wwww.Value = a;
wwww.ParameterName = "@oo ";

cmd.Parameters.Add( wwww );

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

this.Label1.Text = wwww.Value.ToString();


存储过程
create proc ww
@oo int output
set @oo = 5


存储过程的参数要是output,外面接受的时候,要设置SQL的参数方向即:
ParameterDirection.InputOutput;
然后赋一个和存储过程里参数一样类型是值,然后通过存储过程就可以直接用代码里的参数的value来获得SQL里的值了
[解决办法]
cmd.Parameters.Add( "@ReturnValue ", SqlDbType.Int);
cmd.Parameters[ "@ReturnValue "].Direction = ParameterDirection.ReturnValue;

执行完存储过程后就可以的到cmd.Parameters[ "@ReturnValue "].Value了


[解决办法]
exists的值怎么来的?======> exists(语句)是该语句有查询到记录

热点排行