2016-08-09 90 views
0

我正在致力於Visual Studio 2013SqlCommand INSERT查詢不會將數據插入數據庫

在下面的代碼中,MessageBox.Show("Connected to database")顯示正確,但SQL查詢未將數據插入到數據庫表中。

當我手動插入數據時,插入沒有任何問題。但不幸的是,數據無法在button_click命令中插入。

private void DataAdd_Load(object sender, EventArgs e) 
{ 
    try 
    { 
     conn = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=Pathname;Integrated Security=True;Connect Timeout=30"); 
     conn.Open(); 
     MessageBox.Show("Connected to database"); 
     cmd = new SqlCommand("INSERT INTO datains (name, dob, gender, occupation, height, weight, relation, polexpo) values('abc', '22-Aug-2001', 'Male', 'qwe2', '23', '431', 'qw23e', 'asqwed');", conn); 
    } 
    catch (Exception e1) 
    { 
     MessageBox.Show("Connection failed"); 
    } 
} 

我在這裏做了什麼或者我錯過了什麼?

+0

是DataAdd_Loa d叫?你有什麼異常嗎?你沒有關閉你必須的連接。 – Adil

+1

可能重複的[SqlCommand INSERT INTO查詢不執行](http://stackoverflow.com/questions/17569051/sqlcommand-insert-into-query-does-not-execute) –

+0

@Adil這是我愚蠢的錯誤編寫cmd.ExecuteNonquery,想了好幾個小時,最後堆棧溢出幫了大忙!感謝您的幫助! – amish

回答

5

你忘了執行查詢:

cmd.ExecuteNonQuery(); 

這也是更好的工作完成後,關閉連接:

conn.Close(); 
+0

非常感謝.. 我的壞..我無法弄清楚 – amish

+0

你是最受歡迎的@amish – Mostafiz

1

你必須運行的ExecuteNonQuery()方法你的cmd使它工作,但也建議將連接和命令都封裝到using語句中,以便將它們處理(連接也應該明確地關閉)