2014-09-26 37 views
-6

我想將一些數據添加到我的數據庫中。我有5列都允許空值,並且都有varchar的數據類型。但在我的程序中,我只傳遞4個值,第五列應該是空的。當我這樣做會顯示錯誤如何在數據庫中添加空值

提供值的數目不DATABSE列數匹配

如何添加NULL值到數據庫?

我的按鈕,點擊

protected void Button1_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     string str=mas.empdetedit(ddid.SelectedItem.Text,txtname.Text,txtcon.text,txtval.text); 
    } 

我的班級

public string empdetedit(string id, string name, string con, string val) 
{ 
    string str=insert into table values('"+id+"','"+name+"','"+con+"','"+val+"'"); 
    conn.nonquery(str); 
} 
+5

請至少提供編譯代碼。 – 2014-09-26 10:57:33

+0

SonerGönül,你如何編輯我這樣的問題??我不能像這樣的格式輸入問題 – 2014-09-26 10:57:36

+7

可能的sql注入.. – Reniuz 2014-09-26 10:57:37

回答

2

的語法插入到表的只有特定的列是:

INSERT INTO table_name (column1,column2,column3) VALUES (value1,value2,value3) 

你沒有明確指定列名稱,所以數據庫認爲你給所有的值。

+1

還有:使用**參數化查詢**來執行插入以避免SQL注入攻擊! – 2014-09-26 11:15:16