RecordsetのOpenメソッドについて

解決


JUN  2004-03-26 02:16:38  No: 112527

はじめまして。
表題と少し異なるかもしれないのですが、
パラメータクエリを使用して返ってきた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

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

魔界の仮面弁士さん、レス有難う御座います。
早速、上記のコードを参考に色々試してみたのですが、
①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

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


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加