- - PR -
ストアドのエラーをレコードセットで取得したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-08-09 11:34
VBよりストアドを実行し、@@error内容をレコードセットにセットした際
レコードセットが設定されていないとエラーが発生しました。 どうやら、insert文に対してレコードセットを定義しているようでした。 (adoRS.NextRecordsetとやった場合、@@errorの内容が見えました。) NextRecordsetを行なわないで、Select文のレコードセットの結果のみ 取得する方法はないでしょうか? また、他にエラー状況を知る方法はないでしょうか? 以下現状のソースです <VB> Dim adoCon As ADODB.Connection Dim adoRs As ADODB.Recordset Set adoCon = New ADODB.Connection adoCon.ConnectionString = "Provider=SQLOLEDB" _ & ";Data Source=サーバー名" _ & ";Initial Catalog=DB名" _ & ";User ID=ユーザーID" _ & ";Password=パスワード" adoCon.Open Set adoRs = New ADODB.Recordset adoCon.BeginTrans Set adoRs = adoCon.Execute("EXEC sp_user_toroku '100','abc','XXX'") If adoRs(0) <> 0 Then ←ここでエラー adoCon.RollbackTrans MsgBox "失敗" Else adoCon.CommitTrans MsgBox "成功" End If adoRs.Close adoCon.Close Set adoRs = Nothing Set adoCon = Nothing <ストアド> CREATE proc sp_user_toroku @uid char(10),@pwd char(12),@nm char(40) as begin insert into m_user values (@uid,@pwd,@nm) select @@error end 環境 WindowsXP SP2 + VB6.0 + ADO2.8 + SQLServer2000 |
|
投稿日時: 2007-08-09 22:07
今試せる環境でない&うろ覚えで申し訳ないですが・・・。
ストアドプロシジャ側でReturnもしくはOutputパラメタで戻り値を取得することは可能なはずです。 |
1