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

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ プログラミング » .NET アプリケーションプログラミング » .NET データプロバイダチュートリアル » チュートリアル:Visual Studio を使用したシンプルな .NET データベースアプリケーションの開発

 

レッスン 2:同期データコントロールの追加

このレッスンでは、前のレッスンで作成したフォームにデータグリッドコントロールを追加します。このコントロールは、結果セット内のナビゲーションに合わせて内容を自動的に更新します。

前提条件

このレッスンは、レッスン 1:Table Viewer の作成のレッスンの続きです。

このレッスンでは、このチュートリアルの開始時に、権限のセクションで一覧されているロールと権限を持っていることを前提としています。 チュートリアル:データベース内の Java の使用

内容と備考

完全なアプリケーションは、ADO.NET プロジェクトの %SQLANYSAMP16%\SQLAnywhere\ADO.NET\SimpleViewer\SimpleViewer.sln にあります。

 ♦ タスク
  1. Visual Studio を起動し、MySimpleViewer プロジェクトをロードします。このプロジェクトはレッスン 1:Table Viewer の作成で作成したものです。

  2. [データ ソース] ウィンドウで [DataSet1] を右クリックし、[デザイナで DataSet を編集] をクリックします。

  3. [データセット デザイナ] ウィンドウの空白領域を右クリックし、[追加] » [TableAdapter] をクリックします。

  4. TableAdapter 構成ウィザードで次の作業を実行します。

    1. [データ接続の選択] ページで、[次へ] をクリックします。

    2. [コマンドの種類を選択します] ページで、[SQL ステートメントを使用する] をクリックし、[次へ] をクリックします。

    3. [SQL ステートメントの入力] ページで、[クエリ ビルダ] をクリックします。

    4. [テーブルの追加] ウィンドウの [ビュー] タブをクリックし、[ViewSalesOrders] をクリックして [追加] をクリックします。

    5. [閉じる] をクリックして [テーブルの追加] ウィンドウを閉じます。

  5. ウィンドウのすべてのセクションが表示されるように、[クエリ ビルダ] ウィンドウを拡大します。

    1. すべてのチェックボックスが表示されるように、[ViewSalesOrders] ウィンドウを拡大します。

    2. [Region] をクリックします。

    3. [Quantity] をクリックします。

    4. [ProductID] をクリックします。

    5. [ViewSalesOrders] ウィンドウの下のグリッドで、[ProductID] カラムの [出力] の下にあるチェックボックスをオフにします。

    6. [ProductID] カラムで、[フィルタ] セルに疑問符 (?) を入力します。これで ProductID の WHERE 句が生成されます。

    次のような SQL クエリが作成されました。

    SELECT   Region, Quantity
    FROM     GROUPO.ViewSalesOrders
    WHERE    (ProductID = :Param1)
  6. この SQL クエリを次のように変更します。

    1. QuantitySUM(Quantity) AS TotalSales に変更します。

    2. GROUP BY Region を WHERE 句の後に続くクエリの末尾に追加します。

    変更した SQL クエリは次のようになります。

    SELECT   Region, SUM(Quantity) as TotalSales
    FROM     GROUPO.ViewSalesOrders
    WHERE    (ProductID = :Param1)
    GROUP BY Region
  7. [OK] をクリックします。

  8. [完了] をクリックします。

    ViewSalesOrders という新しい TableAdapter[データセット デザイナ] ウィンドウに追加されました。

  9. フォームデザインタブ (Form1) をクリックします。

    • フォームを右方向にドラッグして拡大し、新しいコントロールの領域を確保します。

  10. [データソース] ウィンドウで [ViewSalesOrders] を展開します。

    1. [ViewSalesOrders] をクリックし、ドロップダウンリストから [DataGridView] をクリックします。

    2. [ViewSalesOrders] をクリックして、フォーム (Form1) にドラッグします。

    Form1 にデータグリッドビューのコントロールが組み込まれます。

    データグリッドビューのコントロールがフォームに表示されます。

  11. プロジェクトをビルドし、実行します。

    • [ビルド] » [ソリューションのビルド] をクリックします。

    • [デバッグ] » [デバッグの開始] をクリックします。

    • [Param1] または [ProductID] (VS 2010) テキストボックスに、300 などの製品 ID を入力して [Fill] をクリックします。

      入力した製品 ID の販売概要が、データグリッドビューに地域別に表示されます。

      Products テーブルのローと特定製品の販売概要が表示されたアプリケーション。

    フォームのもう一方のコントロールを使用して、結果セットのローを移動することもできます。

    ただし、2 つのコントロールが互いに同期された状態になっていることが理想的です。これを実現するための手順を次に示します。

  12. アプリケーションを終了してプロジェクトを保存します。

  13. Fill ストリップは不要なのでフォームから削除します。

    • デザインフォーム (Form1) で、[Fill] の右側にある Fill ストリップを右クリックして、[削除] をクリックします。

      Fill ストリップがフォームから削除されます。

  14. 2 つのコントロールを次のようにして同期します。

    1. デザインフォーム (Form1) で [ID] テキストボックスを右クリックし、[プロパティ] をクリックします。

    2. [イベント] ボタン (電球で表示される) をクリックします。

    3. [TextChanged] イベントが見つかるまでスクロールダウンします。

    4. [TextChanged] をクリックし、ドロップダウンリストから [fillToolStripButton_Click] をクリックします。Visual Basic を使用している場合は、[FillToolStripButton_Click] というイベントです。

    5. [fillToolStripButton_Click] をダブルクリックして、fillToolStripButton_Click イベントハンドラに関するフォームのコードウィンドウを開きます。

    6. param1ToolStripTextBox または productIDToolStripTextBox (VS 2010) への参照を検索し、これを iDTextBox に変更します。Visual Basic を使用している場合は、IDTextBox というテキストボックスです。

    7. プロジェクトを再度ビルドし、実行します。

  15. アプリケーションフォームに表示されるナビゲーションコントロールが 1 つだけになりました。

    • 結果セットを移動すると、それに合わせて現在の製品の販売概要が更新され、データグリッドビューに地域ごとに表示されます。

      Products テーブルのローと地域別の販売概要が表示されたアプリケーション。
  16. アプリケーションを終了してプロジェクトを保存します。

結果

これで、結果セットの移動に合わせて内容を自動的に更新するコントロールが追加されました。

このチュートリアルでは、強力なツールである Microsoft Visual Studio、サーバエクスプローラー、および SQL Anywhere .NET データプロバイダを組み合わせて使用して、データベースアプリケーションを作成する方法を学習しました。