2011-01-15 2 views
2

DataGridViewのすべての行をDBに挿入する効率的な方法はありますか? foreachループを使用するか、バッチ技術を使用していますか?DataGridViewのすべての行をDBに挿入する効率的な方法は?

あなたのオプションは何ですか?

ありがとうございました

+0

DataGridViewの 'DataSource'とは何ですか? – abatishchev

+0

それを取り込むためのデータテーブル(datagridview1)がありますが、別のdatagridview(datagridview2)と2つのコンボボックスがあります。 datagridview2は、datagridview1のデータと、ユーザーがコンボボックスから選択した項目によって作成されます。 – odiseh

答えて

1

最も効率的なソリューションは、私のためのようだ:

  1. ループでそれを記入しDataTable
  2. を作成します(それはいつものDataTable/DataSetを埋めるためのループです)
  3. SaveそれはSqlBulkCopyを使用して
+0

ありがとう、Mr. abatishchev。それはまさに私が探していたものです – odiseh

+0

@odiseh:喜んで助けました! :) – abatishchev

0

私はアプリケーションのニーズに応じて2つのうちのいずれかを実行しました。

1)1行に追加/編集/削除が発生した後、1行ごとにデータベースに保存できます。

2)DataSet.GetChanges(変更を処理/保存する必要があるため)を使用してさまざまなタイプ(追加/編集/削除)を行い、それぞれのタイプを別々に処理することができます。これは通常ループを使用して行われます。

さらに、TableAdapterがある場合。必要に応じて挿入/更新コマンドを使用することができます。彼らはあなたのためにバッチ処理します。

+0

最初のソリューションにはループが必要ですか?はいの場合は時間がかかりますか? – odiseh

+0

これに対するほとんどの解決策にはループが必要です。 Linqを使ったとしても。実行されているループがまだあります。 –

関連する問題