【发布时间】:2012-03-21 06:18:32
【问题描述】:
我将 ID 作为外参数发送,但它给出错误
System.Data.SqlClient.SqlException:过程或函数 “usp_ClientHistoryItem”需要参数“@ID”,而这不是 提供。
代码
using (SqlCommand cmd = new SqlCommand("dbo.usp_ClientHistoryItem", conn))
{
SqlParameter parameterID = new SqlParameter("@ID", oReservation.Id);
parameterID.Direction = ParameterDirection.Output;
cmd.Parameters.Add(parameterID);
cmd.Parameters.Add(new SqlParameter("@PhoneNo", oReservation.ClientPhone));
cmd.Parameters.Add(new SqlParameter("@UserId", oReservation.UserID));
cmd.Parameters.Add(new SqlParameter("@Description", oReservation.Description));
cmd.Parameters.Add(new SqlParameter("@TestId", oReservation.TestId));
cmd.Parameters.Add(new SqlParameter("@StartDate", oReservation.StartDate));
cmd.ExecuteNonQuery();
returnValue = Convert.ToInt32(cmd.Parameters["@ID"].Value);
return returnValue;
}
【问题讨论】:
-
你在创建存储过程的时候把ID参数设置为out了吗? (在数据库上;不是代码)
标签: c# .net database sqlcommand