2017-05-28 57 views
-2

當我執行以下腳本時,出現以下錯誤;當IDENTITY_INSERT設置爲OFF時,無法在表'data_siswa'中插入標識列的顯式值

private void tambahsiswa() 
    { 
     koneksi.Open(); 
     cmd = new SqlCommand("insert into data_siswa (nis,nama,kelas,ttl,jenkel,agama,alamat) values ('" + tNis.Text + "','" + tNama.Text + "','" + tKelas.Text + "','" + tTtl.Text + "','" + tJenkel.Text + "','" + tAgama.Text + "','" + rtAlamat.Text + "')", koneksi); 
     cmd.ExecuteNonQuery(); 
     MessageBox.Show("Siswa Telah Di Tambahkan", "Informasi", 
      MessageBoxButtons.OK, MessageBoxIcon.Information); 
    } 
+1

** SQL注入警報!**見http://bobby-tables.com除此之外,你嘗試過調試?你看到什麼錯誤?沒有太多的幫助...... –

+0

其中一列是作爲標識列創建的。您必須從插入語句中刪除此列或將列更改爲普通(非標識)列。 – EventHorizon

+0

檢查表data_siswa上的索引 - 您將找到主鍵。除非您在插入腳本的開始處發出命令,如同'set identity_insert data_siswa ON'' –

回答

0

發生該錯誤是因爲您試圖將值插入到表的主鍵中。

如果您爲主鍵的自動更新定義了一個序列並鏈接到該表,則不會在插入查詢中提到標識列。

或者,您可以使用存儲過程打開identity_insert參數。

... 
SET IDENTITY_INSERT data_siswa ON 
* Your insert query * 
SET IDENTITY_INSERT data_siswa OFF 
... 
相關問題