【发布时间】:2015-05-21 01:20:07
【问题描述】:
我有这个程序:
ALTER procedure dbo.scUsuarioCorrecto
@usrLogin nvarchar(15),
@usrPassword nvarchar(255)
AS
select case when exists
(select * from Usuario where usrLogin =
@usrLogin and usrPassword = @usrPassword
AND usrHabilitado = 1)
then CAST(1 as bit) else CAST(0 as bit) end as correcto;
我无法更改它,所以我必须解决它,我如何从 C# 中捕获那个位,我已经连接到数据库并且我能够调用一些程序,但是我遇到了这个问题
尝试将参数设置为输出:
SqlParameter result = new SqlParameter("correcto", SqlDbType.Int)
{
Direction = ParameterDirection.Output
};
cmd.Parameters.Add(result);
但我收到“to many parameters”错误,抱歉,如果我犯了一个愚蠢的错误,我今天真的是从 C# 开始的,我也使用了搜索按钮。
【问题讨论】:
-
您确实必须以tutorial 开头,而不是在代码编辑器中随机输入。
-
您实际上是在向您的代码撒谎,说明该参数是如何工作的。当您创建 SqlParameter 时,它旨在表示数据库中存在的内容。数据库没有将其用作输出参数,因此您的代码无法实现。
标签: c# sql tsql stored-procedures ado.net