Connectionオブジェクト

 System.Data.SqlClient名前空間: 「SqlConnection」
 System.Data.OracleClient名前空間:「OracleConnection」
 System.Data.OleDb名前空間:  「OleDbConnection」

 SqlConnectionクラスは、データベースに接続するためのクラスです。データベースに一番近い位置に存在します。

■ 主なプロパティ

■ ConnectionStringプロパティ

 SQL Serverに接続するための文字列を取得または設定します。

■ Databaseプロパティ

 現在のデータベース、または接続してから使用するデータベースの名前を取得します。

■ DataSourceプロパティ

 接続するSQL Serverのインスタンスの名前を取得します。

■ ServerVersionプロパティ

 クライアントが接続しているSQL Serverのインスタンスのバージョンを示す文字列を取得します。

■ Stateプロパティ

 SqlConnectionオブジェクトの状態を取得します。

■ 主なメソッド

■ BeginTransactionメソッド

 データベーストランザクションを開始します。

■ Closeメソッド

 データベースの接続を閉じます。

■ Openメソッド

 ConnectionStringプロパティで指定した接続文字列を使用して、データベースに接続します。

 このオブジェクトを利用するには、オブジェクトを作成する際に、接続文字列を同時に設定します。データベースで処理をする際には、このオブジェクトのOpenメソッド使って、データベースに接続をします。その後、Closeメソッドを使って、切断します。

○ プロジェクト

 プロジェクトを作成して確認してみましょう。

プロジェクトの種類 Windows フォーム アプリケーション
プロジェクト名 ConnectionTest1

サンプルダウンロード

○ フォームデザイン

 次の図のようにコントロールを配置してください。

コントロールの配置例
コントロールの配置例

○ プログラム

 「接続」ボタンをクリックしたときのイベントプロシージャの記述をしてください。

Form1.vb

  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.  '接続文字列を作成する
  3.  Dim conString As String = _
  4.   "Data Source=.;AttachDbFilename=C:¥Work¥Books.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
  5.  'コネクションオブジェクトを生成する
  6.  Dim con As New SqlClient.SqlConnection(conString)
  7.  'データベースに接続する
  8.  con.Open()
  9.  '各プロパティを参照する
  10.  Me.TextBox1.Text = con.ConnectionString
  11.  Me.TextBox2.Text = con.Database
  12.  Me.TextBox3.Text = con.DataSource
  13.  Me.TextBox4.Text = con.ServerVersion
  14.  Me.TextBox5.Text = con.State
  15.  'データベースを閉じる
  16.  con.Close()
  17. End Sub

○ 実行結果

実行結果
実行結果

 今回のサンプルはプログラムで接続オブジェクトを作って利用しました。接続文字列をconString変数に代入していますが、SQL Serverデータファイルアタッチの場合の記述です。次に、Connectionオブジェクトを作っていますが、その時にコンストラクタの引数として接続文字列を渡します。すると、それを基にオブジェクトが作成されます。そして、確実に作成されているかを調べるために、Connectionオブジェクトの状態をTextBoxに表示させています。

 データベースに対して何か処理をしたい場合は、ConnectionオブジェクトのOpen()メソッドを使って接続し、処理を行います。そして、終了したら、ConnectionオブジェクトのClose()メソッドを使って、切断します。

 では、このサンプルと同じものを今度はデザイナを使って作成してみましょう。
※ 補足1を参考にして、「SqlConnection」コントロールを表示させてください。

○ プロジェクト

プロジェクトの種類 Windows フォーム アプリケーション
プロジェクト名 ConnectionTest2

サンプルダウンロード

○ フォームデザイン

  「ConnectionTest」プロジェクトと同じようにコントロールを配置してください。今回は、デザイン画面でConnectionオブジェクトを作成します。Connectionコントロールを配置してください。

Connectionを配置
Connectionを配置

 すると、上の図のように、コンポーネントトレイに配置されますので、次のようにプロパティを設定してください。

プロパティ名
ConnectionString Data Source=.¥;AttachDbFilename="C:¥Work¥Books.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True
設定内容

○ プログラム

 「接続」ボタンをクリックしたときのイベントプロシージャの記述をしてください。

Form1.vb

  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.  'データベースに接続する
  3.  Me.SqlConnection1.Open()
  4.  '各プロパティを参照する
  5.  Me.TextBox1.Text = Me.SqlConnection1.ConnectionString
  6.  Me.TextBox2.Text = Me.SqlConnection1.Database
  7.  Me.TextBox3.Text = Me.SqlConnection1.DataSource
  8.  Me.TextBox4.Text = Me.SqlConnection1.ServerVersion
  9.  Me.TextBox5.Text = Me.SqlConnection1.State
  10.  'データベースを閉じる
  11.  Me.SqlConnection1.Close()
  12. End Sub

○ 実行結果

実行結果
実行結果

 今回のサンプルは、デザイナでConnectionオブジェクトを作成して、コードでそれを利用するという形になっています。

前へ   次へ