すぐ使えるADO.NET

【Visual BasicによるADO.NETデータベースプログラミング】

本の紹介

バックナンバー:VB.NETデータベースプログラミング

ADO.NETの基本的なプログラミングを中心に、すぐ使えるサンプルプログラム満載です。




【第55号】

 第55号(2007.6.28発行)
======================================================================
        ★★ -- VB.NETデータベースプログラミング奮闘記 -- ★★
            (VB 2005 Express & SQL Server 2005 Express)
----------------------------------------------------------------------
いつもご購読ありがとうございます。ADO.NETの基本的なプログラミングを中
心に掲載します。今後ともよろしくお願い申し上げます。

すぐ使えるADO.NET --> http://park5.wakwak.com/‾weblab/
======================================================================
              ■■ configファイルを使ってDBを開く ■■

最初に、sample.mdf を新規作成して、社員テーブルを次のように作成します。

【社員テーブル】
---------------------------------------------
key  列 名   データ型    nullを許容
---------------------------------------------
○ 社員コード  nchar(5)       許容しない
− 社員氏名   nvarchar(20)   許容しない
− 社員カナ   nvarchar(40)   許容しない
− 部署コード  nchar(4)       許容しない
− 更新日時   datetime       許容しない
---------------------------------------------

「Microsoft SQL Server Management Studio Express」を利用すれば、簡単に
作成できます。

次に、VB 2005 Expressを起動して、Windowsアプリケーションプロジェクトを
作成して、接続文字列を、app.configファイルに格納します。プロジェクト名
は、AdoNetとしました。

app.configファイルに格納するために、まず「データソース」タブの「新しい
データソースの追加」をクリックして、sample.mdfを追加します。

「選択された接続は、・・・プロジェクトにファイルをコピーして・・・」の
ダイアログで、「はい」ボタンを押せば、アプリケーションルートディレクト
リにデータベースファイルをコピーします。

「接続文字列をアプリケーション構成ファイルに保存する」ページで、「次の
名前で接続を保存する」をチェックして、名前をsampleDBConStrに変更します。
名前は、既定値のままでも特に問題はありません。

データベースオブジェクトの選択で、社員テーブルを選択すれば完了です。何
も選択しなくても大丈夫です。接続文字列は、app.configファイルに次のよう
に生成されます。見やすいように適時折り返しています。

    <connectionStrings>
        <add name="AdoNet.My.MySettings.sampleDBConStr"
        connectionString="Data Source=.¥SQLEXPRESS;
                          AttachDbFilename=|DataDirectory|¥sample.mdf;
                          Integrated Security=True;
                          Connect Timeout=30;
                          User Instance=True"
        providerName="System.Data.SqlClient" />
    </connectionStrings>

|DataDirectory|は、データベースパスの代替文字列です。

AttachDbFilename= c:¥program files¥…¥...¥…¥sample.mdf ならば、
AttachDbFilename= |DataDirectory|¥sample.mdf と表せます。

それでは、app.configファイルの接続文字列を使って、接続のテストをします。
フォームにボタンをひとつ追加し、このボタンを押すと、データベースのオー
プンとクローズが確認できるプログラムを作成します。

┏━━━━━━━━━━━━━━━━━━━━┓
┃ 接続のテスト          _□×┃
┣━━━━━━━━━━━━━━━━━━━━┫
┃  BtnOpenClose
┃ ┌―――――┐
┃ │接続テスト│
┃ └―――――┘
┃
┃



System.Configurationをインポートしたら、ソリューションエクスプローラで
プロジェクト名を右クリック、「参照の追加」をクリックして、.NETタブで
「System.Configuration」を追加してください。

--【プログラムソースリスト】------------------------------------------
Imports System.Configuration   '参照の追加でSystem.Configurationを追加
Imports System.Data.SqlClient

Public Class Form055

    Private Sub BtnOpenClose_Click _
    (ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles BtnOpenClose.Click

      Dim oCon As New SqlConnection

      Try

          Dim settings As ConnectionStringSettings

          '接続文字列をapp.configファイルから取得
          settings = _
          ConfigurationManager.ConnectionStrings _
          ("AdoNet.My.MySettings.sampleDBConStr")

          If settings Is Nothing Then

            '接続文字列取得エラー
            MessageBox.Show("app.configに未登録", "接続文字列エラー")

          Else

            '接続文字列の設定
            oCon.ConnectionString = settings.ConnectionString

            'DBを開く
            oCon.Open()

            'DB状態の確認
            MessageBox.Show(oCon.State.ToString, "Openメソッド実行後")

          End If

        Catch ex As Exception

          '例外が発生した時の処理
          MessageBox.Show(ex.ToString, "例外発生")

      Finally

          'DBを閉じる
          If Not oCon.State = ConnectionState.Closed Then

            oCon.Close()

            'DB状態の確認
            MessageBox.Show(oCon.State.ToString, "Closeメソッド実行後")

          End If

      End Try

    End Sub

End Class

----------------------------------------------------------------------

次号から、社員テーブルを使ったプログラムを作成していきます。DBIOクラス
も、SQL Server 2005 対応に作り直します。

======================================================================
VB.NET データベースプログラミング奮闘記
  発行者:ウェブ実験室
          http://park5.wakwak.com/‾weblab/
----------------------------------------------------------------------
このメールマガジン(マガジンID: 0000128094)は、
インターネットの本屋さん『まぐまぐ』から配信されています。
  http://www.mag2.com/

【購読中止の方法】購読の中止は次のホームページからお願い致します。
  http://park5.wakwak.com/‾weblab/
  http://www.mag2.com/m/0000128094.htm
----------------------------------------------------------------------
このメールマガジン及び「すぐ使えるADO.NET」ホームページで公開している
ソースプログラム・データの利用により生じた損害等については、発行者は
一切責任を負いません。ソースプログラムの再利用は自由です。著作権は発行
者が所有します。
このメールマガジン及び「すぐ使えるADO.NET」ホームページに掲載されてい
る会社名・製品名等は、各社の登録商標または商標です。
======================================================================

Copyright© すぐ使えるADO.NET. All rights reserved.