Visual C# .NETによるデータベースアクセスアプリケーションの作成
Visual C# .NETは仮想マシンの一種である.NET Framework環境下で動作させるアプリケーションの開発ツールです。
ここではVisual C# .NETを利用してOracleデータベースをアクセスする簡単なアプリケーションを作成する手順を紹介します(ADO.NETの適用)。
尚、今回使用したVisual C# .NETはVisual Studio .NET 2003日本語ベータ版に含まれているものでWindows XP環境に導入しています。
またVisual Studio .NET 2003にはMicrosoft .NET Framework 1.1が付属しています。
1.Visual C# .NETによるDBアクセスアプリの作成
(1)統合開発環境でのデータベース接続定義
前提条件としてOracleクライアントが導入されているものとします。
尚、今回はOracleのEMPというサンプルテーブルを使用します。
- Visual Studio .NETの起動
- [ツール]−[データベースへの接続]メニューによる「データリンクプロパティ」表示
- 「プロバイダ」タブ
ここでは接続するデータ種別として「Microsoft OLE DB Provider for Oracle」を選択します。
- 「接続」タブ
・サーバ名:Oracleネットサービス名(OracleのNet Configuration Assistantで定義したもの)を指定します。
・ユーザ名:scottを指定します。
・パスワード:tigerを指定します。
<接続のテスト>ボタンでOracleサーバとの接続テストが行えます。
- 「データリンクプロパティ」を閉じます。
「データリンクプロパティ」を閉じるとサーバエクスプローラに今作成した接続定義が表示されます。
接続定義はサーバ名.SCOTTとなります。
- サーバエクスプローラでのテーブル内容表示
サーバエクスプローラにおいてOracle用接続定義を開き、テーブル一覧中の「EMP」テーブルをダブルクリックするとそのテーブル内容を表示できます。
(2)Visual C# .NETのプロジェクト定義
- [ファイル]−[新規作成]−[プロジェクト]メニューで「新しいプロジェクト」ダイアログを表示します。
- 「新しいプロジェクト」ダイアログでの指定内容
・プロジェクトの種類:Visual C#プロジェクト
・テンプレート:Windowsアプリケーション
・プロジェクト名:VC#テスト
・場所:プロジェクトの保存フォルダを指定します(ここで指定したフォルダの中に「VC#テスト」というプロジェクトフォルダが作成されます)。
このダイアログを閉じると空のフォームが表示されます。
(3)データアダプタ構成ウィザード
- ツールボックスの「データ」タブ内にある「OleDbDataAdapter」コントロールをフォームにドラッグ&ドロップするとデータアダプタ構成ウィザードが自動起動されます。
- データ接続の選択
ここではデータアダプタで使用するデータ接続としてOracle接続用のデータ接続を選択します。
- クエリの種類の選択
ここでは「SQLステートメントの使用」を選択します。
- SQLステートメントの生成
ここでは<クエリビルダ>ボタンを押します。
- テーブルの追加
テーブル名一覧から「EMP」テーブルを選択します。
- クエリビルダによるSQL生成
クエリビルダでアクセス対象のカラムを選択します。
自動生成されたSQL文もここに表示されます。
- パスワードの保存
ウィザードを完了させると接続文字列にパスワードを含めるかどうかの確認ダイアログが表示されますので<パスワードを含める>ボタンを押します。
(4)データセットの定義
- [データ]−[データセットの生成]
- データセットの定義内容
・新規作成のデータセット名:myDataSet
・データセットに追加するテーブル:EMP
(5)データグリッドコントロールの設定
- ツールボックスの「Windowsフォーム」タブにあるDataGridコントロールをフォームにドラッグ&ドロップ
- DataGridのプロパティ設定
・DataSource:myDataSet1
・DataMember:EMP
(6)データ表示用ボタンの設定
- ツールボックスの「Windowsフォーム」タブにあるButtonコントロールをフォームに貼り付けます。
- Buttonのプロパティ設定
・Text:データ表示
- データ表示ボタンの処理記述
ボタンをダブルクリックするとコードエディタが開き、そのボタン用の処理記述場所にカーソルが自動的に移動します。
データを表示するには次の1行の記述だけで済みます。
oleDbDataAdapter1.Fill(myDataSet1,"EMP");
Visual C# .NETのコードエディタの画面
(7)アプリケーション終了ボタンの設定
- ツールボックスの「Windowsフォーム」タブにあるButtonコントロールをフォームに貼り付けます。
- Buttonのプロパティ設定
・Text:終了
- 終了ボタンの処理記述
ボタンをダブルクリックするとコードエディタが開き、そのボタン用の処理記述場所にカーソルが自動的に移動します。
アプリケーションを終了させるには次の1行の記述だけで済みます。
Application.Exit();
(8)フォームの外観設定
- フォームのタイトル設定
フォームのウィンドウタイトルのデフォルト名は「Form1」です。
それでは味気ないのでTextプロパティに適当な名前を設定します。
ここでは「Visual C# .NET Oracleアクセス(Amber)」としました。
- コントロールの調整
フォーム上のデータグリッドやボタンコントロールの配置場所やサイズ等を調整します。
(9)ビルドと実行
- [デバッグ]−[開始]メニューを実行すると自動的にビルド処理が行われ、ビルドされたアプリケーションが起動されます。
尚、ビルドされたアプリケーション実行ファイルはプロジェクトフォルダに「VC#テスト.exe」というファイルとして保存されます。
このアプリケーション実行ファイルはマシン語ではなく中間言語形式になっています。
- アプリケーション実行の初期画面
- データ表示のテスト
データ表示ボタンを押すと、EMPテーブルの内容がデータグリッドに表示されます。
実寸画像はこちらです。
- 終了テスト
終了ボタンを押すとアプリケーション画面が閉じます。
2.Visual C# .NETで作成したDBアクセスアプリの実行
- .NET FrameworkのあるWindows XP環境でのアプリケーション実行
VC#テスト.exeは.NET Frameworkのある環境ならVisual C# .NETがインストールされていなくても単独に実行させることができます。
しかし.NET Frameworkのない環境で実行させようとすると次のエラーが発生します。
- Windows Server 2003でのアプリケーション実行
Windows Server 2003には.NET Framework 1.1が標準で含まれています。
しかし、Oracleクライアントの無い環境でDBアクセスアプリを起動してデータ表示させようとすると次のエラーが発生します。
Oracleクライアントのある環境ではデータ表示が正しく行われます。
3.Visual Basic .NETによるDBアクセスアプリの作成
Visual Basic .NETでも上記のVisual C# .NETの場合と同様の手順でDBアクセスアプリを作成することができます。
但し、処理記述方法はVisual C# .NETの場合とは若干異なります。
例えばVisual Basic .NETでのデータ表示ボタンの処理記述は次のようになります。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
OleDbDataAdapter1.Fill(MyDataSet1, "EMP")
End Sub
Visual Basic .NET環境でのDBアクセスアプリの実行画面例
4.Visual J# .NETによるDBアクセスアプリの作成
Visual J# .NETでも上記のVisual C# .NETの場合と同様の手順でDBアクセスアプリを作成することができます。
処理記述方法はVisual C# .NETの場合と似ています。
例えばVisual J# .NETでのデータ表示ボタンの処理記述は次のようになります。
private void button1_Click (Object sender, System.EventArgs e)
{
oleDbDataAdapter1.Fill(myDataSet1,"EMP");
}
Visual J# .NET環境でのDBアクセスアプリの実行画面例