VB.net + ADO.net


    'ExecuteReader :行セットを返すコマンドの実行時に使用。
    'ExecuteScalar :SELECT COUNT(*) …など、データベースから単一の結果のみを取得する際に使用。
    'ExecuteNonQuery :INSERT, DELELE, UPDATE, SET ステートメントなど、結果セットを返さないコマンドの実行時に使用。

    'ADO.NETの接続には SQL Server 7.0 以降用に最適化された SqlConnection オブジェクトか、 OleDbConnection オブジェクトを使用する。

    'SQLServer用接続文字列
    Private connectionString As String = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=ユーザーID;Data Source=SQLServerのあるコンピューター名;database=接続するデータベース名;"

    'Access用接続文字列
    'Private connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Test.mdb"

    '*****行セットを返すコマンド*****
    Private Sub _ExecuteReader(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim oConn As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection(connectionString)
        Dim oCmd As System.Data.OleDb.OleDbCommand
        Dim oReader As System.Data.OleDb.OleDbDataReader
        oConn.Open()
        oCmd = oConn.CreateCommand()
        '応答が帰ってくるまでのタイムアウトを15分に設定
        oCmd.CommandTimeout = 15 * 60
        oCmd.CommandText = "SELECT * FROM test"
        'ExecuteReader :行セットを返すコマンドの実行時に使用。
        oReader = oCmd.ExecuteReader()
        While oReader.Read()
            Debug.WriteLine(CStr(oReader("nox")) & "," & CStr(oReader("name")))
        End While
        oReader.Close()
        oConn.Close()
    End Sub

    '*****SELECT COUNT(*) …など、データベースから単一の結果のみを取得する*****
    Private Sub _ExecuteScalar(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim oConn As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection(connectionString)
        Dim oCmd As System.Data.OleDb.OleDbCommand
        oConn.Open()
        oCmd = oConn.CreateCommand()
        '応答が帰ってくるまでのタイムアウトを15分に設定
        oCmd.CommandTimeout = 15 * 60
        oCmd.CommandText = "SELECT COUNT(*) FROM test"
        'ExecuteScalar :SELECT COUNT(*) …など、データベースから単一の結果のみを取得する際に使用。
        Debug.WriteLine(oCmd.ExecuteScalar().ToString)
        oConn.Close()
    End Sub

    '*****INSERT, DELELE, UPDATE, SET ステートメントなど、結果セットを返さないコマンド*****
    Private Sub _ExecuteNonQuery(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim oConn As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection(connectionString)
        Dim oCmd As System.Data.OleDb.OleDbCommand
        oConn.Open()
        oCmd = oConn.CreateCommand()
        '応答が帰ってくるまでのタイムアウトを15分に設定
        oCmd.CommandTimeout = 15 * 60
        oCmd.CommandText = "delete from test where nox=1"
        'ExecuteNonQuery :INSERT, DELELE, UPDATE, SET ステートメントなど、結果セットを返さないコマンドの実行時に使用。
        Dim resolt As Integer = oCmd.ExecuteNonQuery()
        '影響を受けた行数
        Debug.WriteLine(resolt.ToString)
        oConn.Close()
    End Sub




▼うまく接続できない場合には、OleDbConnection をウィザードで接続することができます




<新しい接続>を選択するとこによりウィザードが起動します
ウィザードで接続が確立したら上記ソースの OleDbConnection 部分を次のように変更します。

Dim oConn As System.Data.OleDb.OleDbConnection = OleDbConnection1


▼作成したプログラムを再配布するには

配布先のPCには、.NET Framework と MDAC が必要です。
両方ともMicrosoftに再配布可能パッケージがありますのでダウンロードして同時に配布する必要があります。






▲トップページ > Visual BASIC と C#