SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

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 テクニック編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2024 Y.SAK