Archive for 9月 2nd, 2012

  1. Hello, ADO.NET(VB.NET) World!

    Posted on 9月 2nd, 2012 by cx20

    ADO.NET(VB.NET)

    ADO.NET(ActiveX Data Objects .NET)は、ADO の後継で .NET ベースの DBMS 接続用 API である。
    .NET データプロバイダを介することで様々な DBMS への接続が可能となっている。
    .NET Framework 標準で使用できる .NET データプロバイダとしては、以下のようなプロバイダがある。

    データプロバイダ名 説明
    System.Data.SqlClient Microsoft SQL Server
    System.Data.OleDb OLE DB
    System.Data.Odbc ODBC
    System.Data.OracleClient Oracle

    ソースコード(VB.NET + ADO.NET + OLE DB + Jet データベース)

    Imports System
    Imports System.Data.OleDb
     
    Class Hello
        Shared Sub Main()
            Dim conStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _
                & "Data Source=hello.mdb;"
            Dim sqlStr As String = "SELECT 'Hello, ADO.NET World!' AS Message"
     
            Dim con As OleDbConnection = New OleDbConnection(conStr)
            Dim cmd As OleDbCommand = New OleDbCommand(sqlStr, con)
            con.Open()
            Dim reader As OleDbDataReader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine( reader.GetName(0) )
                Console.WriteLine( "---------------------" )
                Console.WriteLine( reader(0) )
            End While
            reader.Close()
            con.Close()
        End Sub
    End Class

    ソースコード(VB.NET + ADO.NET + OLE DB + ACE データベース)

    Imports System
    Imports System.Data.OleDb
     
    Class Hello
        Shared Sub Main()
            Dim conStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;" _
                & "Data Source=hello.accdb;"
            Dim sqlStr As String = "SELECT 'Hello, ADO.NET World!' AS Message"
     
            Dim con As OleDbConnection = New OleDbConnection(conStr)
            Dim cmd As OleDbCommand = New OleDbCommand(sqlStr, con)
            con.Open()
            Dim reader As OleDbDataReader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine( reader.GetName(0) )
                Console.WriteLine( "---------------------" )
                Console.WriteLine( reader(0) )
            End While
            reader.Close()
            con.Close()
        End Sub
    End Class

    ソースコード(VB.NET + ADO.NET + SQL Server)

    Imports System
    Imports System.Data.SqlClient
     
    Class Hello
        Shared Sub Main()
            Dim conStr As String = "SERVER=(local);" _
                & "DATABASE=master;" _
                & "UID=sa;" _
                & "PWD=P@ssW0rd"
            Dim sqlStr As String = "SELECT 'Hello, ADO.NET World!' AS Message"
     
            Dim con As SqlConnection = New SqlConnection(conStr)
            Dim cmd As SqlCommand = New SqlCommand(sqlStr, con)
            con.Open()
            Dim reader As SqlDataReader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine( reader.GetName(0) )
                Console.WriteLine( "---------------------" )
                Console.WriteLine( reader(0) )
            End While
            reader.Close()
            con.Close()
        End Sub
    End Class

    ソースコード(VB.NET + ADO.NET + Oracle)

    Imports System
    Imports System.Data.OracleClient
     
    Class Hello
        Shared Sub Main()
            Dim conStr As String = "Data Source=ORCL;User ID=scott;Password=tiger"
            Dim sqlStr As String = "SELECT 'Hello, ADO.NET World!' AS Message FROM DUAL"
     
            Dim con As OracleConnection = New OracleConnection(conStr)
            Dim cmd As OracleCommand = New OracleCommand(sqlStr, con)
            con.Open()
            Dim reader As OracleDataReader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine( reader.GetName(0) )
                Console.WriteLine( "---------------------" )
                Console.WriteLine( reader(0) )
            End While
            reader.Close()
            con.Close()
        End Sub
    End Class

    ソースコード(VB.NET + ADO.NET + ODBC + MySQL)

    Imports System
    Imports System.Data.Odbc
     
    Class Hello
        Shared Sub Main()
            Dim conStr As String = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd"
            Dim sqlStr As String = "SELECT 'Hello, ADO.NET World!' AS Message"
     
            Dim con As OdbcConnection = New OdbcConnection(conStr)
            Dim cmd As OdbcCommand = New OdbcCommand(sqlStr, con)
            con.Open()
            Dim reader As OdbcDataReader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine( reader.GetName(0) )
                Console.WriteLine( "---------------------" )
                Console.WriteLine( reader(0) )
            End While
            reader.Close()
            con.Close()
        End Sub
    End Class

    コンパイル方法(32bit OLE DB 使用時)

    C:¥> vbc Hello.vb /platform:x86

    コンパイル方法(上記以外)

    C:¥> vbc Hello.vb

    実行結果

    Message
    ---------------------
    Hello, ADO.NET World!