ALTER PROCEDURE dbo.spLogin
(
@lName varchar,
@lschoolID int,
@lPassword varchar OUTPUT
)
AS
SELECT fldUserLoginPassword
from tbUser
where fldUserLoginName = @lName and
fldDefaultSchoolID = @lschoolID;
/* SET NOCOUNT ON */
RETURN
这是我创建的一个存储过程.因为在vs中还要继续用到lPassword,所以要输出这个字段,请问这个存储过程能输出lPassword吗?
还有在接下来的程序中怎么引用这个存储过程的输出结果呢?
(
@lName varchar,
@lschoolID int,
@lPassword varchar OUTPUT
)
AS
SELECT fldUserLoginPassword
from tbUser
where fldUserLoginName = @lName and
fldDefaultSchoolID = @lschoolID;
/* SET NOCOUNT ON */
RETURN
这是我创建的一个存储过程.因为在vs中还要继续用到lPassword,所以要输出这个字段,请问这个存储过程能输出lPassword吗?
还有在接下来的程序中怎么引用这个存储过程的输出结果呢?
初始化的时候,标记参数类型为OUTPUT 随便给一个值
执行玩NONQUERY或者其他后
直接试用那个参数就行
比如
string s = p[i].value.tostring();
(
@lName varchar,
@lschoolID int,
@lPassword varchar OUTPUT
)
AS
SELECT @lPassword = fldUserLoginPassword -- 注意
from tbUser
where fldUserLoginName = @lName and
fldDefaultSchoolID = @lschoolID;
不是直接SELECT一个字段就可以的了吗/
至于如何从存储过程返回结果
见:http://www.cnblogs.com/tuyile006/archive/2007/04/12/710901.html
(
@lName varchar,
@lschoolID int,
@lPassword varchar OUTPUT
)
AS
--使用Select给变量赋值
SELECT @lPassword = fldUserLoginPassword
from tbUser
where fldUserLoginName = @lName and
fldDefaultSchoolID = @lschoolID;
com.Parameters["@lPassword "].Direction=ParameterDirection.Output;
执行完后
得到值 取值
com.Parameters["@lPassword "].value