是否有人知道此錯誤爲何 (表'HD_AANVRAAG_FASE'中標識列的顯式值可以僅在使用列列表且IDENTITY_INSERT爲ON時指定僅當使用列列表且IDENTITY_INSERT爲ON時,才能指定表'ID'中標識列的顯式值。
說明:在執行當前Web請求期間發生未處理的異常請查看堆棧跟蹤以獲取有關錯誤的更多信息以及源自代碼
異常詳細信息:System.Data.SqlClient.SqlException:表'HD_AANVRAAG_FASE'中標識列的顯式值可以在當使用列列表並且IDENTITY_INSERT爲ON時,將被指定。)是否意味着? 任何幫助表示讚賞。
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();
}
HD_AANVRAAG表的主鍵是什麼? aanvraag_id?這是一個身份專欄? – Pleun 2011-03-03 14:54:23
否,HD_AANVRAAG_FASE的主鍵是fase_id。我怎麼知道它是否是一個身份專欄,那是什麼? – SamekaTV 2011-03-03 15:00:37
如果你有一個標識列,那麼你不應該在應用程序中開啓和關閉identity_insert!這是自動生成號碼的原因。讓數據庫執行正常工作或從桌子上取得標識並創建您自己的ID(通常不好的想法,因爲如果您犯了錯誤,您可能非常糟糕地破壞數據完整性)。臨時關閉身份的能力只適用於偶爾的數據遷移,通常不是通過應用程序完成的。 – HLGEM 2011-03-03 15:35:36