|
|||||
<このサンプルの概要> 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 |