- PR -

Recordsetのレコード数

投稿者投稿内容
ともこ
大ベテラン
会議室デビュー日: 2007/09/14
投稿数: 111
投稿日時: 2007-10-09 16:28
tkrnさん、未記入さん、Tdnr_Symさん、みなさんアドバイスありがとうございます。

現状ですが、以下のようにするとパラメータの指定もでき、エラーも表示されなくなり正常に動作しています。
コード:
-------------------------------------------------------------------------------
Public cmd As New ADODB.Command
Public Conn1 As ADODB.Connection
Public RS As ADODB.Recordset

' ***接続設定
Set Conn1 = New ADODB.Connection
Set RS = New ADODB.Recordset
Conn1.CursorLocation = adUseClient ・・・ 未記入さんのアドバイス

Conn1.Open "Driver={SQL Server};" & _
"SERVER='サーバー名';" & _
"DATABASE='データベース名';" & _
"User Id='ユーザーID';" & _
"Password='ユーザーパスワード'"

cmd.CommandText = 'ストアドプロシージャ名'
cmd.ActiveConnection = Conn1
cmd.CommandType = adCmdStoredProc
cmd.Parameters(1).value = 'パラメータ'

RS.Open cmd, , adOpenStatic ・・・ Tdnr_Symさんのアドバイス

msgbox RS.RecordCount
------------------------------------------------------------------------------

しかし、何かのサイトで「クライアントカーソルを使用するとパフォーマンスが落ちる」といった情報を見たような気がします。これは間違いでしょうか?

引用---------------------------------------------
 未記入さん(2007-10-09 14:16)より
それから全体的にコードが気になりますね。接続文字列の Driver={SQL Server} は、アドホック ODBC を使用する記述ですね。私なら Provider=SQLOLEDB と書いて OLE DB Provider を使うようにします。
-------------------------------------------------
とありますが、その辺に関してまだまだ知識不足で理解できていません。
Driver={SQL Server}とProvider=SQLOLEDBでは処理内容や機能が何か異なるのでしょうか?

スキルアップ/キャリアアップ(JOB@IT)