【发布时间】:2018-08-10 18:03:55
【问题描述】:
我正在尝试使用列表框中的值以及文本框的值来更新数据库表,但是抛出了异常 例外。
过程或函数需要参数,但未提供。
即使在提供参数后也会抛出。我希望选择的课程显示在数据库表的同一列中,用逗号分隔。 这是我目前所拥有的。
using (SqlCommand com = new SqlCommand("updateStudent", connection))
{
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@studentNum", studentNum.Text);
com.Parameters.Add("@studentName", SqlDbType.NVarChar).Value = studentName.Text;
foreach (ListItem item in lstCourse.Items)
{
if (item.Selected)
{
com.Parameters.Add("@courses", SqlDbType.NVarChar).Value = " " + item.Text + " ";
}
}
com.ExecuteNonQuery();
com.Parameters.Clear();
}
}
【问题讨论】:
-
您正在添加多个
@courses参数,这可能不是您想要做的。参数@courses中期望的存储过程是什么?您可能需要稍微不同地构造该参数的值。 -
如果您选择超过 1 个项目,那么您会收到此错误吗?过程或函数 updateStudent 指定的参数过多。
-
更新学生集 studentNum=@studentNum,studentName=@studentName,courses=@courses where studentId=studentId
-
@jeffld 是的,就是这样
-
@jeffld;你能帮忙吗
标签: c# asp.net stored-procedures