2013-02-26 79 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(); 

}