2013-02-26 81 views
3

當事件Button按下沒有在SQL表更新和沒有錯誤顯示。SQL插入不工作

protected void SubmitBTN_Click(object sender, EventArgs e) 
{ 
    SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Matt\Documents\coffeeShop.mdf;Integrated Security=True;Connect Timeout=30"); 

    String coffeeName = NameTXT.Text; 
    String coffeeGrid = GrindTXT.Text; 
    String coffeeOrigin = OriginTXT.Text; 
    String coffeePrice = PriceTXT.Text; 
    String coffeeQty = QuantityTXT.Text; 
    String coffeeRRP = RRPTXT.Text; 

    SqlCommand comm = new SqlCommand("INSERT INTO Table (coffeeName, coffeeGrid, coffeeOrigin, coffeePrice, coffeeQty, coffeeRRP) VALUES ('%" + coffeeName + "%','%" + coffeeGrid + "%','%" + coffeeOrigin + "%','%" + coffeePrice + "%','%" + coffeeGrid + "%','%" + coffeeQty + "%','%" + coffeeRRP + "%' ", conn); 

    conn.Open(); 
    //SqlDataReader reader = comm.ExecuteReader(); 

    //lblDBData.Text += "<table border=0>"; 
    //while (reader.Read()) 
    //{ 
    // lblDBData.Text += "<tr>"; 
    // lblDBData.Text += "<td>" + reader["coffeeName"] + "</td>"; 
    // lblDBData.Text += "</tr>"; 
    //} 
    //lblDBData.Text += "</table>"; 

    //reader.Close(); 
    conn.Close();      
} 

任何建議,將不勝感激,非常感謝

+0

請問您已經嘗試執行的SQL代碼並可以正常訪問或拋出一個錯誤,請檢查一下 – NetStarter 2013-02-26 14:26:24

+0

你不不執行命令... – 2013-02-26 14:29:08

+1

@SonerGönül爲什麼要幾次? – 2013-02-26 14:38:55

回答

0

不能讀取的INSERT語句。您必須使用comm.executeNonQuery()來執行插入命令,然後創建一個新的select語句來讀取數據

2

您需要執行命令as;

conn.Open(); //Open the connection to the database 
comm.ExecuteNonQuery(); //This line does the insert 
conn.Close(); //Close the connection once your command executed. 

想想也是參數化查詢和到using塊作爲一個很好的實踐中打開連接對象,以避免留下連接對象開放。例如:

Ex;

using(SqlConnection conn = new SqlConnection("connectionString")) 
{ 
    SqlCommand cmd = new SqlCommand("your query string with @para", conn); 
    cmd.Parameters.AddWithValue("@para", "value"); 
    conn.Open(); 
    cmd.ExecuteNonQuery(); 

}