【发布时间】:2017-02-24 17:35:00
【问题描述】:
我正在尝试使用以下代码在我的数据库中执行存储过程:
using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["myCNN"].ConnectionString))
{
using (var cmd = new SqlCommand("dbo.myStoredProcedure", connection))
{
cmd.Parameters.Add("@PatientId", SqlDbType.VarChar, 40).Value = number;
cmd.Parameters.Add("@NickName", SqlDbType.VarChar, 20).Value = "stlukeshs";
var reader = cmd.ExecuteReader();
while(reader.Read())
{
//Do Stuff..
}
//closer reader
reader.Close();
}
}
但是,在执行时我收到一条错误消息:
System.Data.dll 中出现“System.Data.SqlClient.SqlException”类型的异常,但未在用户代码中处理
附加信息:过程或函数“myStoredProcedure”需要参数“@PatientId”,但未提供。
很明显,您看到我正在添加参数,而number 的值是 100,而不是 null。所以我有点困惑为什么它没有得到我的参数参数。
【问题讨论】:
-
这显然不是你真正的存储过程名称,所以大概其他的东西可能与实际代码中的不太一样……你 100% 确定这不是错字吗?
-
我很惊讶它不会抱怨你没有打开连接。
-
哦,是的,我错过了那行代码.. 抱歉!
标签: c# sql sql-server sqlcommand