2013-02-21 53 views
-1

我正在處理一個項目,在該項目中,我必須將表單中的值插入到SQL Server 2008表中。如何將表單中的數據從表單保存到SQL Server 2008中

插入的值之一是許可證編號,但類別列在數據庫中爲空。我正在使用的代碼是:

SqlCommand qry = new SqlCommand(
"INSERT INTO licnscatagory(license_number, catagory) 
VALUES('"+ license_numberTextBox.Text +"','"+ catagoryComboBox.Text +"')", conn; 
qry.ExecuteNonQuery(); 

在數據庫license_numbernumeric數據類型和categoryvarchar(50)

回答

1

使用此代碼..

SqlCommand qry = new SqlCommand(
"INSERT INTO licnscatagory(license_number,catagory) 
VALUES('"+ license_numberTextBox.Text +"','"+ catagoryComboBox.SelectedItem.Text +"')", conn; 
qry.ExecuteNonQuery(); 
+0

也沒有working.any人能告訴我該如何使用「插入」方法被用於ComboBox控件的具體類型,這些值 – user1756571 2013-02-21 13:02:04

2

您的解決方案是容易受到SQL注入黑客。想象一下,用戶在你的license_numberTextBox中鍵入以下內容。

'); DROP TABLE licnscatagory;

除此之外,你的問題是圍繞什麼是數字的單引號。在ADO.NET中插入如此的正確方法或任何SQL查詢就是使用參數。請參閱以下內容:

 SqlCommand qry = new SqlCommand("INSERT INTO licnscatagory (license_number, category) VALUES (@licenseNumber, @category)", conn); 
     qry.Parameters.AddWithValue("licenseNumber", Convert.ToDecimal(license_numberTextBox.Text)); 
     qry.Parameters.AddWithValue("category", catagoryComboBox.Text); 
     qry.ExecuteNonQuery(); 
+0

將決定Text屬性是否是用來檢索當前選定值的正確的屬性。 – 2013-02-21 09:57:18

+0

我對你的回覆非常感謝。但是在運行時有一個語法問題。如何解決這個問題。msg是「附近@catagory附近的不正確語法」plz help – user1756571 2013-02-21 10:41:54

+0

我修改了我的回覆。我在陳述結尾錯過了一個右括號。 – 2013-02-21 11:00:42

3

使用此代碼

SqlCommand qry = new SqlCommand(
    "INSERT INTO licnscatagory(license_number,catagory) 
    VALUES('"+ license_numberTextBox.Text +"','"+ catagoryComboBox.SelectedValue+"')", conn; 
    qry.ExecuteNonQuery(); 
相關問題