NonSoft

ADODBによるDB操作のサンプル(VB6)


 サンプル(ソース/コード)
<このサンプルの概要>
ADODB(Microsoft ActiveX Data Objects *.* Library)を使用してDB(SQL SERVERやACCESS MDB)を
操作(レコード検索、レコード追加、レコード更新、レコード削除)するVB6のサンプルです。
プロバイダをOraOLEDB.Oracleに変更するとオラクルにも接続出来ます。

このサンプルの概略の流れは以下のようになっています。
1.ADODB.ConnectionによるDB接続
2.ADODB.Recordsetによるレコード検索
3.ADODB.Recordsetによるレコード追加
4.ADODB.Recordsetによるレコード更新
5.ADODB.Recordsetによるレコード削除
6.ADODB.ConnectionによるDB切断
つまり、ADODB.ConnectionとADODB.Recordsetしか使っていないシンプルなサンプルになっています。
[Microsoft ActiveX Data Objects *.* Library]を参照設定してお試しください。

VB.NETやC#.NETのDB関係サンプルはこちらです。
データベース関係のその他のサンプル(VB6/VB.NET/C#.NET)

Option Explicit

' ADODBコネクション
Private DbCon As ADODB.Connection

' ADODBによるDB接続
Private Sub Command1_Click()
    ' ADODBコネクション生成
    Set DbCon = New ADODB.Connection
    
    ' プロバイダ
    DbCon.Provider = "microsoft.jet.oledb.4.0"  ' ACCESS MDBの時
    'DbCon.Provider = "SQLOLEDB"                ' SQL SERVERの時
    
    If InStr(DbCon.Provider, "SQLOLEDB") > 0 Then
        ' データソース名、サーバ名、IPアドレス、ファイル名
        DbCon.Properties("Data Source") = "127.0.0.1"
        ' ユーザID
        DbCon.Properties("User ID").Value = "sa"
        ' パスワード
        DbCon.Properties("Password").Value = "sapass"
        ' コネクション文字列
        DbCon.ConnectionString = ""
    Else
        ' データソース名、サーバ名、IPアドレス、ファイル名
        DbCon.Properties("Data Source") = "D:\Temp\Test.mdb"
        ' コネクション文字列
        DbCon.ConnectionString = ""
    End If
    
    ' DB接続
    DbCon.Open
    
    If InStr(DbCon.Provider, "SQLOLEDB") > 0 Then
        ' デフォルトDB設定
        DbCon.DefaultDatabase = "TEST"
    End If
End Sub

' ADODBによるレコード検索
Private Sub Command2_Click()
    ' ADODBレコードセット生成
    Dim DbRec As ADODB.Recordset
    Set DbRec = New ADODB.Recordset
    ' レコード検索SQL
    DbRec.Open "SELECT AAA,BBB,CCC FROM TABLE1", DbCon
    ' 検索結果表示
    Do While DbRec.EOF = False
        Debug.Print DbRec.Fields(0) & ":" & DbRec.Fields(1) & ":" & DbRec.Fields(2)
        DbRec.MoveNext
    Loop
    ' ADODBレコードセットクローズ
    DbRec.Close
End Sub

' ADODBによるレコード追加
Private Sub Command3_Click()
    ' ADODBレコードセット生成
    Dim DbRec As ADODB.Recordset
    Set DbRec = New ADODB.Recordset
    ' トランザクション開始
    DbCon.BeginTrans
    ' レコード追加SQL
    DbRec.Open "INSERT INTO TABLE1(AAA,BBB,CCC) VALUES('a04','b04','c04')", DbCon
    ' トランザクションコミット
    DbCon.CommitTrans
End Sub

' ADODBによるレコード更新
Private Sub Command4_Click()
    ' ADODBレコードセット生成
    Dim DbRec As ADODB.Recordset
    Set DbRec = New ADODB.Recordset
    ' トランザクション開始
    DbCon.BeginTrans
    ' レコード更新SQL
    DbRec.Open "UPDATE TABLE1 SET BBB='b05',CCC='c05' WHERE AAA='a04'", DbCon
    ' トランザクションコミット
    DbCon.CommitTrans
End Sub

' ADODBによるレコード削除
Private Sub Command5_Click()
    ' ADODBレコードセット生成
    Dim DbRec As ADODB.Recordset
    Set DbRec = New ADODB.Recordset
    ' トランザクション開始
    DbCon.BeginTrans
    ' レコード削除SQL
    DbRec.Open "DELETE FROM TABLE1 WHERE AAA='a04'", DbCon
    ' トランザクションコミット
    DbCon.CommitTrans
End Sub

' ADODBによるDB切断
Private Sub Command6_Click()
    ' DB切断
    DbCon.Close
End Sub