有人知道这个错误是什么
(仅当使用列列表且 IDENTITY_INSERT 为 ON 时,才能指定表“HD_AANVRAAG_FASE”中标识列的显式值。
描述:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。
异常详细信息:System.Data.SqlClient.SqlException:仅当使用列列表且 IDENTITY_INSERT 为 ON 时,才能指定表“HD_AANVRAAG_FASE”中标识列的显式值。)意味着?
任何帮助表示赞赏。
private void Insert2()
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["HELPDESK_OUTLOOKConnectionString3"].ToString());
conn.Open();
SqlCommand dCmd2 = new SqlCommand(
"INSERT INTO HD_AANVRAAG_FASE VALUES (@fase_id, @aanvraag_id, @status_id, "
+ "@werknemer_id, @fase_datum) SET IDENTITY_INSERT HD_AANVRAAG_FASE OFF ",
conn);
dCmd2.Parameters.AddWithValue("@fase_id", 1);
dCmd2.Parameters.AddWithValue("@aanvraag_id", 2622);
dCmd2.Parameters.AddWithValue("@status_id", 15);
dCmd2.Parameters.AddWithValue("@werknemer_id", 165);
dCmd2.Parameters.AddWithValue("@fase_datum", "12-12-2001");
dCmd2.ExecuteNonQuery();
conn.Close();
}
由于您没有明确指定列,我假设@fase_id
正在被传递到IDENTITY
列,其中如错误所示你不能这样做,除非你通过强制它IDENTITY_INSERT
.
通常,您让数据库生成它;指定中的列INSERT
and omit标识列(并且不要尝试分配值)。紧随其后的是INSERT
您的新 ID 可用为SCOPE_IDENTITY()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)