タグ

mergeに関するmaaa328のブックマーク (2)

  • DataTableでのロールバックを手軽に実装する - atsukanrockのブログ

    DataTableは、ただのデータの入れ物ではない。CLRのメモリ上でDBのトランザクション(CRUDやコミット/ロールバックなど)と同様の処理を実装するための、各種メソッドが提供されている*1。 ロールバックを実装するための方法も提供されている。しかしその仕様は複雑で、非接続型データアクセスの全容を知らずには使いこなすことができないように思われる*2。 そこで、手軽にロールバックを実装する方法を考えた。その方法とは以下のとおりである。 <オリジナルDataTable>.Copy()とし、テンポラリDataTableを作成する 後にロールバックするかもしれない全ての変更操作は、テンポラリDataTableに対し行う ロールバックするには、テンポラリDataTableを破棄する コミットするには、オリジナルDataTableに対し以下の手順を行う <オリジナルDataTable>.Clear

    DataTableでのロールバックを手軽に実装する - atsukanrockのブログ
  • SQLのMergeの代わりにDataTableのMergeを使用する - Architect's Log

    新しいレコードとキーの一致するレコードが、現在のデータに存在する場合はUPDATE、存在しない場合はINSERTしたいケースでは、SQLのMergeが使用できます。しかし、SQL Server 2005以前のバージョンではMergeが実装されていません。 このエントリーでは、SQLのMergeの代わりにDataTableのMergeを使用して、新しいデータをUPDATE/INSERTする方法を紹介します。 ソースコード using System.Data; using System.Data.SqlClient; namespace ConsoleApplication { class Program { static void Main(string[] args) { DataTable newData = new DataTable(); // newDataに新しいデータをセットし

    SQLのMergeの代わりにDataTableのMergeを使用する - Architect's Log
  • 1