我正在尝试在 asp.net 中执行存储过程。存储过程需要 3 个参数,所有 3 个都是 ID(整数)。这 3 个参数是:TaskID、ExhibitID 和 InvestigatorID。
我有一个隐藏字段,其中包含来自 javascript 函数的 ExhibitID 数组。我的问题是如何在遍历数组时执行查询?
这是我的存储过程的示例:
var cnSaveTask = new SqlConnection(ConfigurationManager.ConnectionStrings["OSCIDConnectionString"].ToString());
var comLinkExhibitToTask = new SqlCommand("p_CaseFileTasksExhibitLinkAdd", cnSaveTask) { CommandType = CommandType.StoredProcedure };
foreach (string exhibit in hidExhibitsIDs.Value.Split(','))
{
comLinkExhibitToTask.Parameters.AddWithValue("@TaskID", taskID);
comLinkExhibitToTask.Parameters.AddWithValue("@ExhibitID", Convert.ToInt32(exhibit));
comLinkExhibitToTask.Parameters.AddWithValue("@InvestigatorID", int.Parse(Session["InvestigatorID"].ToString()));
}
try
{
cnSaveTask.Open();
comLinkExhibitToTask.ExecuteNonQuery();
}
但它在我的数据库中不起作用。什么都没有添加。我的猜测是,由于它是迭代而不是执行,它只是每次都不断替换“exhibitID”,然后最终尝试执行它。但我不认为只是"comLinkExhibitToTask.ExecuteNonQuery()"
在尝试之外添加是一个好主意。有什么建议么?