この項では、Simple コード・サンプルのコードを使用して SQL Anywhere .NET データ・プロバイダのいくつかの主要機能について説明します。Simple コード・サンプルは、SQL Anywhere サンプル・ディレクトリに格納されている SQL Anywhere サンプル・データベース demo.db を使用します。
SQL Anywhere サンプル・ディレクトリのロケーションについては、サンプル・ディレクトリを参照してください。
データベース内のテーブルとテーブル間の関係を含むサンプル・データベースの詳細については、SQL Anywhere サンプル・データベースを参照してください。
この項では、1 回に示すコードは数行です。サンプルのすべてのコードが含まれているわけではありません。コード全体を確認するには、samples-dir\SQLAnywhere\ADO.NET\SimpleWin32 のサンプル・プロジェクトを開きます。
制御の宣言 次のコードは、btnConnect という名前のボタンと listEmployees という名前のリストボックスを宣言します。
private System.Windows.Forms.Button btnConnect; private System.Windows.Forms.ListBox listEmployees; |
データベースへの接続 btnConnect_Click メソッドは、SAConnection 接続オブジェクトを宣言して初期化します。
private void btnConnect_Click(object sender, System.EventArgs e) SAConnection conn = new SAConnection( "Data Source=SQL Anywhere 11 Demo;UID=DBA;PWD=sql" ); |
SAConnection オブジェクトは、Open メソッドが呼び出されると、接続文字列を使用して SQL Anywhere サンプル・データベースに接続します。
conn.Open(); |
SAConnection オブジェクトの詳細については、SAConnection クラスを参照してください。
クエリの定義 SQL 文は SACommand オブジェクトを使用して実行されます。次のコードは、SACommand コンストラクタを使用してコマンド・オブジェクトを宣言し、作成します。このコンストラクタは、実行されるクエリを表す文字列と、クエリが実行される接続を表す SAConnection オブジェクトを受け入れます。
SACommand cmd = new SACommand( "SELECT Surname FROM Employees", conn ); |
SACommand オブジェクトの詳細については、SACommand クラスを参照してください。
結果の表示 クエリの結果は、SADataReader オブジェクトを使用して取得されます。次のコードは、ExecuteReader コンストラクタを使用して SADataReader オブジェクトを宣言し、作成します。このコンストラクタは、SACommand オブジェクトである cmd のメンバであり、事前に宣言されています。ExecuteReader はコマンド・テキストを実行するために接続に送信し、SADataReader を構築します。
SADataReader reader = cmd.ExecuteReader(); |
次のコードは、SADataReader オブジェクトに格納されているローをループし、これらをリストボックス・コントロールに追加します。Read メソッドが呼び出されるたびに、データ・リーダは結果セットから別のローを取り返します。読み込まれるローごとに新しい項目がリストボックスに追加されます。データ・リーダは、引数 0 で GetString メソッドを使用して、結果セット・ローの最初のカラムを取得します。
listEmployees.BeginUpdate(); while( reader.Read() ) { listEmployees.Items.Add( reader.GetString( 0 ) ); } listEmployees.EndUpdate(); |
SADataReader オブジェクトの詳細については、SADataReader クラスを参照してください。
終了 メソッドの終わりにある次のコードは、データ・リーダ・オブジェクトと接続オブジェクトを閉じます。
reader.Close(); conn.Close(); |
エラー処理 実行時に SQL Anywhere .NET データ・プロバイダ・オブジェクトから発生したエラーは、ウィンドウに表示されて処理されます。次のコードは、エラーを取得してそのメッセージを表示します。
catch( SAException ex ) { MessageBox.Show( ex.Errors[0].Message ); } |
SAException オブジェクトの詳細については、SAException クラスを参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |