○VB6 RDO (Remote Data Objects) 
ODBCを介してデータベースを操作するための部品
■データベース名 : testDB
▼操作するデータベースの構造
create table table1(field1 char(20),field2 char(20));
▼作成したODBCデータソース名
testODBCDriver
▼VB6の参照設定にて参照します
Microsoft Remote Data Object *.*
■接続・切断
    'ODBCドライバに対する接続文字列
    Const ConnectionString As String = "DSN=testODBCDriver;UID=sa;PWD=;DATABASE=testDB;"
    Dim rdoConnection_obj As rdoConnection
    '接続
    Set rdoConnection_obj = rdoEnvironments(0).OpenConnection("", rdDriverNoPrompt, True, ConnectionString)
    'タイムアウト時間の設定
    rdoConnection_obj.QueryTimeout = 360
    '切断
    rdoConnection_obj.Close
■結果を返さないSQL文の実行
    
    'トランザクションの開始
    rdoConnection_obj.Execute "BEGIN TRANSACTION sp", rdExecDirect
    
    '結果を返さないSQL文の実行
    rdoConnection_obj.Execute "INSERT INTO table1(field1,field2) VALUES('aaaaa','bbbbb');"
    
    'トランザクションの終了
    rdoConnection_obj.Execute "COMMIT TRANSACTION sp", rdExecDirect
    
    'ロールバック
    'rdoConnection_obj.Execute "ROLLBACK TRANSACTION sp", rdExecDirect
■結果を返すSQL文の実行
    Dim resultset_obj As rdoResultset
    'キーセットタイプでレコードを取得
    Set resultset_obj = rdoConnection_obj.OpenResultset("Select * From table1;", rdOpenKeyset, rdConcurLock)
    
    'セットの先頭に移動
    resultset_obj.MoveFirst
    Do Until resultset_obj.EOF 'EOFまでループ
        'セットの内容を表示
        Debug.Print resultset_obj![field1], resultset_obj![field2]
        resultset_obj.MoveNext '次の行に移動
    Loop
    resultset_obj.Close
■新しい行の追加・更新
    Dim resultset_obj As rdoResultset
    '静的タイプでレコードを取得
    Set resultset_obj = rdoConnection_obj.OpenResultset("Select * From table1;", rdOpenDynamic, rdConcurLock)
    resultset_obj.AddNew  '新しいレコードを追加
    'resultset_obj.Edit  '現在の位置のレコードを編集
    resultset_obj![field1] = "test"
    resultset_obj![field2] = "test2"
    resultset_obj.Update  '更新
    'resultset_obj.CancelUpdate '変更結果の破棄
    resultset_obj.Close
■オプション
▼カーソルの種類
rdOpenForwardOnly      前方専用タイプ
rdOpenStatic               静的タイプ 
rdOpenKeyset              キーセットタイプ 
rdOpenDynamic            動的タイプ
▼ロックタイプ 
rdConcurLock              排他的同時実行。
rdConcurReadOnly        読み取り専用
▲トップページ
 > 
Visual BASIC と C#