VB6でSQLServerにADO接続しています。
複数のSELECTクエリを一括で実行した際に、
全ての結果をレコードセットに格納するクラスを
作成しています。
例えば
Set sqlRec = sqldb.Execute("BEGIN SELECT〜 END BEGIN SELECT〜 END〜")
の様に複数のSELECTクエリを実行した場合、
レコードセットには最後のクエリの結果しか格納されていません。
これをレコードセットを動的に作成する(できない?)や
クラスのプロパティで何個目のSELECTかを指定して、その内容を取得する。
などの方法で全ての結果を知りたいのです。
なにか良い方法は無いものでしょうか?
よろしくお願いいたします。
> 全ての結果をレコードセットに格納するクラスを
レコードセットの内容を保存したいという意味であれば、
Saveメソッドで、Streamオブジェクトなどに永続化するとか。
> の様に複数のSELECTクエリを実行した場合、
NextRecordset メソッドを使うとか。
> レコードセットには最後のクエリの結果しか格納されていません。
Connection.Execute で開いているからかも。
魔界の仮面弁士さんありがとうございます。
教えていただいたことを調べて
色々と試してみます。
> レコードセットには最後のクエリの結果しか格納されていません。
Connection.Execute で開いているからかも。
せっかくご回答を頂いたのに申し訳有りません。
最後のクエリではなく最初のクエリでした。
> 最後のクエリではなく最初のクエリでした。
ですよね。そうだと思って、『「最初の」の書き間違いだろうな…』、
という前提で回答しています。(^^;
いずれにしても、NextRecordset の利用を検討してみてください。
魔界の仮面弁士さん何度もありがとうございました。
始めはNextRecordsetをMoveNextと同じように記述していて
なぜできないのか悩んでいましたが、無事解決しました。
ありがとうございました。
ツイート | ![]() |