SAK 図書館
VB oo4o + SQL 応用編10 oo4o データコントロール - ORADC
oo4o は、Oracle RDBMS でみ使用可能です。
■ORADC
・残念ながら、VB6 のデータグリッド、つまり、OLE DB とはうまく連結でき
ない。VB5 のデータグリッドとは正常に連結動作する。
RDO データコントロールも VB6 のデータグリッドとは連結できない。
コントロール関係は ADO を使用する方が良いかもしれない。
・Dynaset オブジェクトを ORADC データコントロールにセットもできる。
このへんは、RDO や ADO と同じである。
Set ORADC1.Recordset = rs
・ORADC を VB5 のデータグリッドと連結動作させるとき、レコード制御など
は、データグリッドのメソッドやプロパティをできるだけ使わずに、ORADC
にあるものは、そちらを使用する。
・ORADC に対する edit による update も正常に動作する。
サンプルコードは、次のとおり。
Public Const ORADB_DEFAULT = &H0
Public Const ORADB_ORAMODE = &H1
Public Const ORADB_NOWAIT = &H2
Public Const ORADB_DBDEFAULT = &H4
Public Const ORADB_DEFERRED = &H8
Public Const ORADYN_DEFAULT = &H0
Public Const ORADYN_NO_AUTOBIND = &H1
Public Const ORADYN_NO_BLANKSTRIP = &H2
Public Const ORADYN_READONLY = &H4
Public Const ORADYN_NOCACHE = &H8
Public Const ORADYN_ORAMODE = &H10
Public Const ORADYN_DBDEFAULT = &H20
Public Const ORADYN_NO_MOVEFIRST = &H40
Public Const ORADYN_DIRTY_WRITE = &H80
Dim OraSession
Dim OraDatabase
Dim dbname As String
Dim cnuser As String
Dim rs
'** サービス、ユーザ設定
dbname = ""
cnuser = "SAK/SAK"
'// Oracle サービス名(別名)、ユーザ・パスワード指定
'** oo4o 接続
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
If Err <> 0 Then
MsgBox "データベースに接続出来ません。" & Chr(10) _
& "CreateObject - Oracle oo4o エラー"
End
End If
Set OraDatabase = OraSession.OpenDatabase(dbname, cnuser, ORADB_DEFAULT)
If Err <> 0 Then
MsgBox "データベースに接続出来ません。" & Chr(10) _
& Err & ": " & Error
End
End If
'** レコードセットオープン
Set rs = OraDatabase.CreateDynaset("select * from sak.テストm " _
& "order by キー", ORADYN_DEFAULT)
'** データコントロールセット
Set ORADC1.Recordset = rs
'** エラートラップ開始
on local error resume next
'** oo4o エラーリセット
OraDatabase.LastServerErrReset
'** トランザクション開始
OraSession.BeginTrans
'** データ更新
rs.Edit
rs("データ1") = 12345
rs.Update
'** エラーチェック
if err <> 0 or OraDatabase.LastServerErr <> 0 then
OraSession.Rollback
MsgBox "データ更新に失敗しました。" & chr(10) _
& err & ": " & error & chr(10) _
& "oo4o: " & OraDatabase.LastServerErrText
exit sub
end if
'** トランザクション終了
OraSession.CommitTrans
'** エラートラップ終了
on local error goto 0
■VB oo4o + SQL 応用編資料
■VB ADO + SQL 応用編資料
■VB RDO + SQL 応用編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料
■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■VB 入門編資料
■VB 基礎編資料
■VB ビジュアル編資料
■VB テクニック編資料