RecordsetのOpenメソッドについて

解決


JUN  2004-03-26 02:16:38  No: 112527  IP: [192.*.*.*]

はじめまして。
表題と少し異なるかもしれないのですが、
パラメータクエリを使用して返ってきたRecordsetを
DataGridのDataSourceにセットしたいのですが問題
が発生しました。
それは、ヘルプを見る限りではRecordsetのOpenメソッドでは
パラメータクエリを使用できず、CommandオブジェのParameters
プロパティで使用できます。
しかし、Commandオブジェでパラメータをセットし、返ってきた
RecordsetをDataGridに代入すると今度は、ブックマークが使用
できませんというエラーになります。
ここで更に調べて見ると、CommandのExecuteで帰ってきたRecordset
のカーソルが前方スクロールカーソルになってしまいます。
CursorLocationプロパティを変更したりするのですが、変更できません。
パラメータクエリを使用してDataGridにRecordsetを行うにはどの様に
すればよろしんでしょうか?
ちなみに環境は、VB6.0+SQLServer2000です。
以上、宜しくお願い致します。

編集    削除
魔界の仮面弁士  2004-03-26 05:41:27  No: 112528  IP: [192.*.*.*]

CommandをExecuteしてRecordsetを得るのではなく、
RecordsetをOpenしてCommandを開けばOKです。

つまり、
    Cmd.Parameters("MAIL").Value = "oratorio@s2.ocv.ne.jp"
    RS.Open Cmd, , adOpenStatic, adLockOptimistic
のようなイメージですね。

編集    削除
JUN  2004-03-26 17:18:45  No: 112529  IP: [192.*.*.*]

魔界の仮面弁士さん、レス有難う御座います。
早速、上記のコードを参考に色々試してみたのですが、
①RS.Open Cmd, , adOpenStatic, adLockOptimistic
②RS.Open Cmd, Cnn , adOpenStatic, adLockOptimistic

①の場合ですと、’一つ以上の必要なパラメータ値が設定されてない’と
いうエラーになり、②の場合ですと今度は、’Commandオブジェをリソース
に持つRecordsetオブジェのActiveConnectionプロパティを変更できません。’というエラーになってしまい、どうしても、RecordsetのOpen時に
Commandが開く事ができません。
現在も調査中ですが、何か参考になるご意見でもあれば宜しくお願い
致します。
以上。

編集    削除
JUN  2004-03-26 17:45:31  No: 112530  IP: [192.*.*.*]

①の方法にて、うまく動作ができる様になりました。
魔界の仮面弁士さん、参考になるご意見有難う御座いました!

編集    削除