掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ADO Recordsetを使ったデータ取得 (ID:102677)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> dbRes1を更新しないようにできないでしょうか? Recordset を Update しても、元となる DB にそれを反映させたく無いと いう意味であれば、切断型(コネクションレス)の Recordset にすれば OK です。 手順は、ADO のヘルプ(MDAC SDK)に記載されている [ADO プログラマーズ ガイド] [セクション I: ActiveX Data Objects (ADO)] [第 5 章: データの更新および永続化] [データの更新] [バッチ モード] を参照してください。 ------ ざっくり書くと、dbRes をクライアントバッチカーソルモード (adLockBatchOptimistic)で開くようにし、さらに ActiveConnection に Nothing を Set してから更新すれば OK ということです。 (dbRes は、いわゆる切断型 Recordset になります) このようにすれば、dbRes に変更/削除/追加の処理を加えても、 DB 側には反映されないため、dbRes1 側には変更が伝わりません。 もうひとつの方法は、ADODB.Stream のインスタンスを生成しておき、 その Stream に ADTG 形式で dbRes.Save し、それを dbRes1.Open で 再 Open することでも、同じような結果を得る事ができます。 それ以外の手法としては Open 前の dbRes に対して、Fields.Append で 列定義を定め、Conenction を指定せずに、引数なしで dbRes.Open して 「空の Recordset を作っておく」という手もあります。この dbRes に、 dbRes1 側の内容を AddNew 等で転記して利用します。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.