2011-07-18 13 views
0

私は変数を設定するDataGridViewを持っていますが、SQLデータベーステーブルに各行を追加するのが好きです。DataGridViewからSQLデータベースに行を追加する

ボタンが押されたときにこのコードを試していますが、私の値が何であるべきかにはまっています....ここに私のコードがあります。私はちょうど一緒にコードを投げた。

///////// Add to DataGridView Rows to Table /////// 
     foreach(DataGridViewRow row in dgv.Rows){ 
     SqlCommand Insert = new SqlCommand(@"insert into TestTable(ID, FirstName, LastName) values ("dgv.Cells[1].Value.ToString(), dgv.Cells[2].Value.ToString(),dgv.Cells[3].Value.ToString()); 
     } 

答えて

3

あなたは正しいトラックにいるが、いくつかの問題がある。

  1. あなたはSQLインジェクション攻撃を受けています。したがって、パラメータ化されたクエリを代わりに使用する必要があります

  2. グリッド内の列の順序を変更する場合、SQLCommandコードを更新する必要があります。代わりに素敵なプロパティ名を持つべきDataSourceをループする必要があります。あなたが接続を設定し、コマンドに追加し、オープンし、それを閉じる必要があり

  3. using文が接続寿命を管理するための良い方法です)

  4. SQLコマンドを作成し、そのを設定します接続はまだ十分ではありません。Insert.ExecuteNonQuery

  5. また、ループの外側にコマンドを作成し、毎回作成するのではなく各繰り返しでパラメータを設定する必要があります。データセットとDataAdpaterを使用しています

参考リンク

+0

ご協力いただきありがとうございました。私に役立つウェブ参照をお勧めしますか?これと一緒に – user826436

+0

私はいくつかのWeb参照を含める答えを更新しました。 –

関連する問題