ヘッダー

表紙 > VB.NET サンプル >

VB.NET 2002, VB.NET 2003

SQL Serverに接続する

この記事は SQL Server 2000 で動作確認しています。

以下の例では、SQL Server 2000付属のサンプルデータベースNorthwindに接続して[Employee]テーブルのはじめの[FirstName]を表示する。

 

1.SQL Server認証で接続する例

この例を実際に実行するにはユーザーIDとパスワードは環境に合わせて書き換える必要がある。

また、SQL Serverの認証モードが「混合モード」になっている必要がある。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim St As String
   
Dim Cn As New System.Data.SqlClient.SqlConnection
    Dim SQL As System.Data.SqlClient.SqlCommand
    Dim ServerName As String = "(local)"
'サーバー名(またはIPアドレス)
   
Dim UserID As String = "sa" 'ユーザーID
   
Dim Password As String = "" 'パスワード
   
Dim DatabaseName As String = "Northwind" 'データベース

    St = "Server=" & ServerName & ";"
    St &= "User ID=" & UserID & ";"
    St &= "Password=" & Password & ";"
    St &= "Initial Catalog=" & DatabaseName

    Cn.ConnectionString = St

    SQL = Cn.CreateCommand

    SQL.CommandText = "SELECT FirstName FROM Employees"

    Cn.Open()

    MsgBox(SQL.ExecuteScalar)

    Cn.Close()
    SQL.Dispose()
    Cn.Dispose()

End Sub

 

2.Windows認証で接続する例

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim St As String
   
Dim Cn As New System.Data.SqlClient.SqlConnection
    Dim SQL As System.Data.SqlClient.SqlCommand
    Dim ServerName As String = "(local)"
'サーバー名(またはIPアドレス)
   
Dim DatabaseName As String = "Northwind" 'データベース

    St = "Server=""(local)"";"
    St &= "integrated security=SSPI;"
    St &= "initial catalog = Northwind"

    Cn.ConnectionString = St

    SQL = Cn.CreateCommand

    SQL.CommandText = "SELECT FirstName FROM Employees"

    Cn.Open()

    MsgBox(SQL.ExecuteScalar)

    Cn.Close()
    SQL.Dispose()
    Cn.Dispose()

End Sub

 

3.SQL Server認証で接続するメソッド

 

メモ:便宜のためにSQL Server認証での接続を返すメソッドを紹介します。このメソッドは単に接続部分をまとめただけで技術的な価値はほとんどありません。

Public Shared Function GetSQLConnection(ByVal ServerName As String, ByVal DatabaseName As String, ByVal UserID As String, ByVal Password As String) As System.Data.SqlClient.SqlConnection

    Dim St As String
   
Dim Cn As New System.Data.SqlClient.SqlConnection

    St = "Server=" & ServerName & ";"
    St &= "User ID=" & UserID & ";"
    St &= "Password=" & Password & ";"
    St &= "Initial Catalog=" & DatabaseName

    Cn.ConnectionString = St

    Return Cn

End Function

このメソッドを使ってローカルのSQL Serverのpubsデータベースへの接続を取得するには例えば次のようにする。

Dim Cn As New System.Data.SqlClient.SqlConnection

Cn = GetSQLConnection("(local)", "pubs", "sa", "")