C# &引用;程序需要未提供的参数";我确实提供了
当试图通过存储过程更新数据库中的一行时,我遇到了这个错误 过程或函数“sp_A_Update”需要未提供的参数“@Misc” 但我向其提供了以下信息:C# &引用;程序需要未提供的参数";我确实提供了,c#,sql,C#,Sql,当试图通过存储过程更新数据库中的一行时,我遇到了这个错误 过程或函数“sp_A_Update”需要未提供的参数“@Misc” 但我向其提供了以下信息: command.Parameters.AddWithValue("@Misc", inspection.Misc); 这是我的全部代码,并删除了其他参数以缩短代码 using (SqlCommand command = new SqlCommand("sp_Agent_Inspection_Update", new SqlConnection
command.Parameters.AddWithValue("@Misc", inspection.Misc);
这是我的全部代码,并删除了其他参数以缩短代码
using (SqlCommand command = new SqlCommand("sp_Agent_Inspection_Update", new SqlConnection (Configuration.ConnectionString)))
{
command.CommandType = CommandType.StoredProcedure;
PropertyInfo[] propertyInfo = inspection.GetType().GetProperties();
command.Parameters.AddWithValue("@Misc", inspection.Misc);
(lots of other params here...)
command.Parameters.AddWithValue("@RepairNotes", inspection.RepairNotes);
// OPEN CONNECTION
command.Connection.Open();
// EXECUTE QUERY
int rowsAffected = command.ExecuteNonQuery();
command.Connection.Close();
return Boolean.Parse(rowsAffected.ToString());
}
有人有什么想法吗?除了关于调用的存储过程的名称的明显错误之外 识别和解决此问题的最简单方法是运行SQL 剖析器。在执行代码时进行跟踪,看看是什么 将您的消息传递到SQL,您将看到它所期望的结果
错误显示为“sp\U A\U更新”,但代码显示为“sp\U代理检查\U更新”。您确定调试的代码正确吗?我看不到您在任何地方定义
inspection
。可能是我对C#的不了解,但也许你需要定义它?你能发布至少一部分存储过程吗?我假设sp_Agent_Inspection_Update中的SQL执行sp_A_Update,没有将参数@Misc传递给它。我似乎记得您需要确保在代码中添加参数的顺序与它们在SQL存储过程定义中出现的顺序相同。