VB.net Framework : OracleClient または Odbc によるアクセス

  System.Data.OracleClient 名前空間の使用



001.Imports System.Data.OracleClient
002. 
003.Module MyModule
004. 
005.' ********************************************************
006.' 接続 / 読み込み / 更新
007.' ********************************************************
008.Sub Main()
009. 
010.    ' Oracle 接続用オブジェクト
011.    Dim myCon As New OracleConnection()
012.    ' Oracle コマンド用オブジェクト
013.    Dim myCommand As New OracleCommand()
014.    ' リーダ
015.    Dim myReader As OracleDataReader
016.    ' SQL文字列格納用
017.    Dim Query As String = Nothing
018. 
019.    ' 接続文字列の作成
020.    myCon.ConnectionString = _
021.        "Server=night/xe;" + _
022.        "User ID=lightbox;" + _
023.        "Password=lightbox;"
024. 
025.    ' *******************************************
026.    ' 接続
027.    ' *******************************************
028.    Try
029.        ' 接続文字列を使用して接続
030.        myCon.Open()
031.        ' コマンドオブジェクトに接続をセット
032.        myCommand.Connection = myCon
033.        ' コマンドを通常 SQL用に変更
034.        myCommand.CommandType = System.Data.CommandType.Text
035.    Catch ex As Exception
036.        Console.WriteLine(ex.Message)
037.        Return
038.    End Try
039. 
040.    Query = "select * from 社員マスタ"
041.    myCommand.CommandText = Query
042. 
043.    ' *******************************************
044.    ' レコードセット取得
045.    ' *******************************************
046.    Try
047.        myReader = myCommand.ExecuteReader
048.    Catch ex As Exception
049.        myCon.Close()
050.        Console.WriteLine(ex.Message)
051.        Return
052.    End Try
053. 
054.    ' 列数
055.    Dim nCols As Integer = myReader.FieldCount
056.    Dim fldType As System.Type
057. 
058.    ' カラムループ用
059.    Dim idx As Integer
060.    Do While myReader.Read()
061.        For idx = 0 To nCols - 1
062. 
063.            if idx <> 0 then
064.                Console.Write(",")
065.            end if
066. 
067.            ' NULL でない場合
068.            If Not myReader.IsDBNull(idx) Then
069.                fldType = myReader.GetFieldType(idx)
070.                If fldType.Name = "String" Then
071. 
072.                    Console.Write(myReader.GetValue(idx) + "")
073. 
074.                ElseIf fldType.Name = "Int32" Then
075. 
076.                    Console.Write(myReader.GetInt32(idx).ToString() + "")
077. 
078.                ElseIf fldType.Name = "DateTime" Then
079. 
080.                    Console.Write(myReader.GetDateTime(idx).ToString() + "")
081. 
082.                Else
083. 
084.                    Console.Write(myReader.GetValue(idx).ToString() + "")
085. 
086.                End If
087.            Else
088.                Console.Write("")
089.            End If
090.        Next
091.        ' 行の最後
092.        Console.WriteLine("")
093. 
094.    Loop
095. 
096.    ' リーダを使い終わったので閉じる
097.    myReader.Close()
098. 
099. 
100.    ' *******************************************
101.    ' 更新 SQL 実行
102.    ' *******************************************
103.    Query = "update 社員マスタ set 生年月日 = '2000/01/01' where 生年月日 is NULL"
104.    myCommand.CommandText = Query
105.    Try
106.        myCommand.ExecuteNonQuery()
107.    Catch ex As Exception
108.        myCon.Close()
109.        Console.WriteLine(ex.Message)
110.        Return
111.    End Try
112. 
113.    ' *******************************************
114.    ' 接続解除
115.    ' *******************************************
116.    myCon.Close()
117. 
118.End Sub
119. 
120.End Module


System.Data.OleDb

MDB ( Access ) へのアクセス



  System.Data.Odbc 名前空間の使用



001.Imports System.Data.Odbc
002. 
003.Module MyModule
004. 
005.' ********************************************************
006.' 接続 / 読み込み / 更新
007.' ********************************************************
008.Sub Main()
009. 
010.    ' Odbc 接続用オブジェクト
011.    Dim myCon As New OdbcConnection()
012.    ' Odbc コマンド用オブジェクト
013.    Dim myCommand As New OdbcCommand()
014.    ' リーダ
015.    Dim myReader As OdbcDataReader
016.    ' SQL文字列格納用
017.    Dim Query As String = Nothing
018. 
019.    ' DSN接続文字列の作成
020.    myCon.ConnectionString = _
021.        "DSN=MySQL514;" + _
022.        "DATABASE=lightbox;" + _
023.        "UID=root;" + _
024.        "PWD=password;"
025. 
026.    ' ドライバ使用接続文字列の作成
027.    'myCon.ConnectionString = _
028.    '   "Driver={MySQL ODBC 5.1 Driver};" + _
029.    '   "SERVER=localhost;" + _
030.    '   "DATABASE=lightbox;" + _
031.    '   "UID=root;" + _
032.    '   "PWD=password;" + _
033.    '   "Charset=sjis;"
034. 
035.    ' ドライバ使用接続文字列の作成
036.    ' ※ SERVER は TNS Service Name でも可
037.    'myCon.ConnectionString = _
038.    '   "Driver={Microsoft ODBC for Oracle};" + _
039.    '   "SERVER=pcname/ORCL;" + _
040.    '   "UID=lightbox;" + _
041.    '   "PWD=lightbox;"
042. 
043.    ' Oracle 純正ドライバ使用接続文字列の作成
044.    ' ※ DBQ は TNS Service Name でも可
045.    'myCon.ConnectionString = _
046.    '   "Driver={Oracle in XE};" + _
047.    '   "DBQ=pcname/ORCL;" + _
048.    '   "UID=lightbox;" + _
049.    '   "PWD=lightbox;"
050. 
051.    ' *******************************************
052.    ' 接続
053.    ' *******************************************
054.    Try
055.        ' 接続文字列を使用して接続
056.        myCon.Open()
057.        ' コマンドオブジェクトに接続をセット
058.        myCommand.Connection = myCon
059.        ' コマンドを通常 SQL用に変更
060.        myCommand.CommandType = System.Data.CommandType.Text
061.    Catch ex As Exception
062.        Console.WriteLine(ex.Message)
063.        Return
064.    End Try
065. 
066.    Query = "select * from 社員マスタ"
067.    myCommand.CommandText = Query
068. 
069.    ' *******************************************
070.    ' レコードセット取得
071.    ' *******************************************
072.    Try
073.        myReader = myCommand.ExecuteReader
074.    Catch ex As Exception
075.        myCon.Close()
076.        Console.WriteLine(ex.Message)
077.        Return
078.    End Try
079. 
080.    ' 列数
081.    Dim nCols As Integer = myReader.FieldCount
082.    Dim fldType As System.Type
083. 
084.    ' カラムループ用
085.    Dim idx As Integer
086.    Do While myReader.Read()
087.        For idx = 0 To nCols - 1
088. 
089.            if idx <> 0 then
090.                Console.Write(",")
091.            end if
092. 
093.            ' NULL でない場合
094.            If Not myReader.IsDBNull(idx) Then
095.                fldType = myReader.GetFieldType(idx)
096.                If fldType.Name = "String" Then
097. 
098.                    Console.Write(myReader.GetValue(idx) + "")
099. 
100.                ElseIf fldType.Name = "Int32" Then
101. 
102.                    Console.Write(myReader.GetInt32(idx).ToString() + "")
103. 
104.                ElseIf fldType.Name = "DateTime" Then
105. 
106.                    Console.Write(myReader.GetDateTime(idx).ToString() + "")
107. 
108.                Else
109. 
110.                    Console.Write(myReader.GetValue(idx).ToString() + "")
111. 
112.                End If
113.            Else
114.                Console.Write("")
115.            End If
116.        Next
117.        ' 行の最後
118.        Console.WriteLine("")
119. 
120.    Loop
121. 
122.    ' リーダを使い終わったので閉じる
123.    myReader.Close()
124. 
125. 
126.    ' *******************************************
127.    ' 更新 SQL 実行
128.    ' *******************************************
129.    Query = "update 社員マスタ set 生年月日 = '2000/01/01' where 生年月日 is NULL"
130.    myCommand.CommandText = Query
131.    Try
132.        myCommand.ExecuteNonQuery()
133.    Catch ex As Exception
134.        myCon.Close()
135.        Console.WriteLine(ex.Message)
136.        Return
137.    End Try
138. 
139.    ' *******************************************
140.    ' 接続解除
141.    ' *******************************************
142.    myCon.Close()
143. 
144.End Sub
145. 
146.End Module










  infoboard   管理者用   





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ