【发布时间】:2011-11-15 18:19:37
【问题描述】:
我有一个时间表应用程序,用户可以在其中输入一周中不同日期的进出时间。该表单处理每天的输入/输出,将它们作为参数填充到存储过程中并将它们添加到数据库中。我将如何最有效地完成这项工作?我无权访问数据库,只有存储过程。
这是后面的裸代码,我已经去掉了一些不必要的代码。
SqlConnection conn = new SqlConnection(connString);
conn.Open();
SqlCommand cmd = new SqlCommand("insertINOUT", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@UserName", user));
for (int j = 0; j < weekDays.Length; j++)
{
cmd.Parameters.Add(new SqlParameter("@In", in));
cmd.Parameters.Add(new SqlParameter("@Out", out));
cmd.ExecuteReader();
}
conn.Close();
如果只有 1 天的进出,则代码有效。如果用户填写多天,我会得到这个错误:参数'@In'被提供了多次。
感谢您的帮助。
【问题讨论】:
-
这都是因为
for循环中的那些new语句。您正在尝试为已经存在的东西创建new。
标签: c# procedures