2016-08-09 9 views
0

私はVisual Studio 2013で作業しています。SqlCommand 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

Is DataAdd_Loa Is 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ステートメントにラップして破棄するようにしてください(接続も明示的に閉じておく必要があります)

関連する問題