2016-09-03 21 views
0

我想用C#代码调用一个非常简单的SQL Server存储过程。我有一个有authenticate方法的类。我传递文本框的值(用户名,密码)到这个方法,它不断抛出我关于所需的参数不传递错误。我基本上是从事C#项目的商业智能专家。帮助将不胜感激。用参数调用SQL Server存储过程使用C#

这里是代码我执行:

sqcon.Open(); 

SqlCommand cmd = new SqlCommand("Users.PR_Authenticate_WebUsers",sqcon); 

cmd.Parameters.Add("@In_UserID", SqlDbType.VarChar).Value = "f"; 
cmd.Parameters.Add("@In_PassWord", SqlDbType.NVarChar).Value = "f"; 
cmd.Parameters.Add("@Out_IsAuthenticatedUser", SqlDbType.Bit); 
cmd.Parameters["@Out_IsAuthenticatedUser"].Direction = ParameterDirection.Output; 

cmd.ExecuteNonQuery(); 
sqcon.Close(); 

当我传递的参数值明确为什么抱怨值没有传递我不明白?我错过了什么吗?

+0

做u得到一些错误?向我们展示完整代码 – BNN

回答

2

嗯看起来像你说的不是命令对象,它是一个存储过程不是一个普通的查询,试试这个

sqcon.Open(); 
    SqlCommand cmd = new SqlCommand("Users.PR_Authenticate_WebUsers",sqcon); 
    cmd.CommandType = CommandType.StoredProcedure; 

    //Add parameters like this 
    cmd.Parameters.Add(new SqlParameter("@In_UserID", "f")); 
    sqcon.Close() 
+0

感谢Sir marc_s –

+0

感谢Zain UI Abidin。有效。 – user6789854

相关问题