C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: DBへの登録、更新処理はどのようにしていますか


(過去ログ 10 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■1737 / inTopicNo.1)  DBへの登録、更新処理はどのようにしていますか?
  
□投稿者/ ばこま (1回)-(2007/03/05(Mon) 10:53:21)

分類:[.NET 全般] 

はじめまして、最近VB6からC#に移行したばこまと申します。

開発環境はVS2005でデータベースはMSDEを使用しています。

今データベースへの登録更新処理のクラスを作っているのですが、どのような処理の流れがコーディングの作業効率が良いか悩んでいます。
今の所では

データベース接続

トランザクション開始

データ存在に関係なくDELETE文を発行して本データを削除

INSERT文を生成して発行

トランザクションコミット

データベース切断

のような流れにするとコーディングの量も少なくて開発効率が良さそうな気がしますが
みなさんはどのような流れでデータベース更新処理を行っていますか??

いままでVB6では

ADODB.Recordsetを使って使い回しのDBコネクションでSQL発行

データが存在したらAddnew

レコードセットにデータ丸投げ

Updateにて更新

のような感じで開発効率よかったのですが…
引用返信 編集キー/
■1738 / inTopicNo.2)  Re[1]: DBへの登録、更新処理はどのようにしていますか?
□投稿者/ 中博俊 (976回)-(2007/03/05(Mon) 11:40:30)
中博俊 さんの Web サイト
というかDelete-Insertは複数レコードまとめての処理しか使わないので、適切にUPDATEコマンド使いましょう。
効率を挙げるには名前付きDatasetを使い、TableAdapterを使うのがより簡単でしょう。
引用返信 編集キー/
■1743 / inTopicNo.3)  Re[1]: DBへの登録、更新処理はどのようにしていますか?
□投稿者/ 魔界の仮面弁士 (253回)-(2007/03/05(Mon) 13:33:00)
No1737 (ばこま さん) に返信
> みなさんはどのような流れでデータベース更新処理を行っていますか??

方法1) トランザクション開始 → UPDATE → 更新件数が 0 件だったら INSERT → コミット。

方法2) DataSet に固めて、DataAdapter / TableAdapter の Update に投げる。
 (RowState による InsertCommand、UpdateCommand、DeleteCommand への振り分け)

方法3) 更新用のストアドプロシージャを用意して、それを呼び出す。
引用返信 編集キー/
■1769 / inTopicNo.4)  Re[2]: DBへの登録、更新処理はどのようにしていますか
□投稿者/ ばこま (2回)-(2007/03/05(Mon) 21:21:06)
2007/03/07(Wed) 12:11:28 編集(投稿者)

レスありがとうございます。

>中博俊さん
DatasetとTableAdapter調べてみました、なかなかよさそうですね。
アドバイスありがとうございます!!

>魔界の仮面弁士さん
UPDATE → 更新件数が 0 件だったら INSERT
これは思いつきませんでした、データ存在確認のSQLを毎回発行するよりも
このやり方だったら更新の場合は一度で良いですね、参考になりました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -