Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere データ・アクセス API » チュートリアル:SQL Anywhere .NET データ・プロバイダの使用 » Simple コード・サンプルの使用

 

Simple サンプル・プロジェクトの知識

この項では、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 クラスを参照してください。