2017-05-05 95 views
-3

此代碼不起作用。我試圖將數據插入到SQL Server:插入到SQL Server不起作用

int a = 1; 

DateTime cDate; 
cDate = DateTime.Today; 

string insertString = "insert into tbl_complaint(Date, User_id, department_name, Product_name, complaint_details, Status) values (@date, @uid, @dept, @product, @details, @status)"; 

SqlCommand cmd = new SqlCommand(insertString, con); 
cmd.CommandType = CommandType.Text; 

cmd.Parameters.AddWithValue("@date", cDate); 
cmd.Parameters.AddWithValue("@uid", a); 
cmd.Parameters.AddWithValue("@dept", ddlDept.SelectedValue); 
cmd.Parameters.AddWithValue("@product", txtPName.Text); 
cmd.Parameters.AddWithValue("@details", txtCDes.Text); 
cmd.Parameters.AddWithValue("@status", "Submited"); 

try { 
    int check; 
    con.Open(); 

    check= cmd.ExecuteNonQuery(); 

    con.Close(); 
} 

,我得到的錯誤:

SQLEXCEPTION(0x80131904):
不能將NULL值插入列 'Complaint_id',表'complaint_management.dbo.tbl_complaint';列不允許有空值。
INSERT失敗。該語句已終止

System.Data.SqlClient.SqlConnection.OnError(SqlException異常,布爾breakConnection,措施1 wrapCloseInAction)2442126
System.Data.SqlClient.SqlInternalConnection.OnError(SqlExcep重刑例外,布爾breakConnection, Action1 wrapCloseInAction)+5736904

+3

請發佈錯誤信息 – Etienne

+0

它不顯示任何錯誤消息 –

+0

@rahulmundaware,刪除try catch。你會看到錯誤。 –

回答

0

看起來您的表中有一個'Complaint_id'列,它具有Not Null屬性。你可以採取以下的任何提到的步驟:

  1. 通過你的插入查詢
  2. 更改列「Complaint_id」的屬性發送的「Complaint_id」列中的值,以接受NULL值,如果它存在作爲主鍵,然後改變它。
  3. 更改「Complaint_id」列的屬性以使其成爲標識列以自動生成值。