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 课:添加同步数据控件

在本课中,将向在前一课中开发的窗体添加 datagrid 控件。在您浏览结果集时,此控件会自动进行更新。

前提条件

本课是第 1 课:创建表查看器中所述课程的延续部分。

本课假定您拥有在教程教程:使用数据库中的 Java开头的特权部分中列出的角色和特权。

上下文和注释

完整的应用程序可在 ADO.NET 项目 %SQLANYSAMP16%\SQLAnywhere\ADO.NET\SimpleViewer\SimpleViewer.sln 中找到。

 任务
  1. 启动 Visual Studio 并加载 MySimpleViewer 项目。此项目创建于第 1 课:创建表查看器

  2. 在 [Data Sources] 窗口中右击 DataSet1,并单击 [Edit DataSet With Designer]。

  3. 右击 [DataSet Designer] 窗口中的空白区域,并单击 [Add] » [TableAdapter]。

  4. 在 [TableAdapter Configuration Wizard] 中:

    1. 在 [Choose Your Data Connection] 页面上,单击 [Next]。

    2. 在 [Choose A Command Type] 页面上,单击 [Use SQL Statements],然后单击 [Next]。

    3. 在 [Enter A SQL Statement] 页面上,单击 [Query Builder]。

    4. 在 [Add Table] 窗口上,单击 [Views] 选项卡,单击 [ViewSalesOrders],然后单击 [Add]。

    5. 单击 [Close] 关闭 [Add Table] 窗口。

  5. 展开 [Query Builder] 窗口,使窗口中的所有部分都可见。

    1. 展开 [ViewSalesOrders] 窗口,使所有复选框可见。

    2. 单击 [Region]。

    3. 单击 [Quantity]。

    4. 单击 [ProductID]。

    5. 在 [ViewSalesOrders] 窗口下面的网格中,清除 [ProductID] 列的 [Output] 下面的复选框。

    6. 对于 ProductID 列,在 [Filter] 单元格中键入问号 (?)。这将为 ProductID 生成 WHERE 子句。

    此时构建出的 SQL 查询如下:

    SELECT   Region, Quantity
    FROM     GROUPO.ViewSalesOrders
    WHERE    (ProductID = :Param1)
  6. 按如下步骤修改 SQL 查询:

    1. Quantity 更改为 SUM(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. 单击 [Finish]。

    名为 ViewSalesOrders 的新 TableAdapter 已添加到 [DataSet Designer] 窗口。

  9. 单击窗体设计选项卡 (Form1)。

    • 向右拉伸窗体以为新控件留出空间。

  10. 在 [Data Sources] 窗口中展开 ViewSalesOrders。

    1. 单击 [ViewSalesOrders] 并从下拉列表中单击 [DataGridView]。

    2. 单击 [ViewSalesOrders] 并将其拖动到您的窗体 (Form1) 中。

    Form1 并入了一个 datagrid 视图控件。

    datagrid 视图控件出现在窗体上。

  11. 构建并运行项目。

    • 单击 [Build] » [Build Solution]。

    • 单击 [Debug] » [Start Debugging]。

    • 在 [Param1] 或 [ProductID] (VS 2010) 文本框中,输入产品 ID 号(如 300),然后单击 [Fill]。

      datagrid 视图针对所输入的产品 ID 按区域显示销售额的汇总。

      显示了 Products 表中某行及给定产品销售额汇总的应用程序。

    还可以使用窗体上的其它控件在结果集的各行之间移动。

    但如果两个控件可以互相保持同步会比较理想。以下几步说明了实现同步的方法。

  12. 关闭应用程序,然后保存您的项目。

  13. 删除窗体上的 [Fill] 条,因为您不需要它。

    • 在设计窗体 (Form1) 上,右击 [Fill] 一词右侧的 [Fill] 条并单击 [Delete]。

      [Fill] 条即从窗体上删除。

  14. 按如下所示同步这两个控件。

    1. 在设计窗体 (Form1) 上,右击 [ID] 文本框,然后单击 [Properties]。

    2. 单击 [Events] 按钮(它显示为一道闪电)。

    3. 向下滚动直到找到 [TextChanged] 事件。

    4. 单击 [TextChanged],然后从下拉列表中单击 [fillToolStripButton_Click]。如果您在使用 Visual Basic,则事件称为 FillToolStripButton_Click

    5. 双击 [fillToolStripButton_Click],窗体的代码窗口即在 fillToolStripButton_Click 事件处理程序上打开。

    6. 找到对 param1ToolStripTextBoxproductIDToolStripTextBox (VS 2010) 的引用,将其更改为 iDTextBox。如果您在使用 Visual Basic,则文本框称为 IDTextBox

    7. 重建并运行项目。

  15. 应用程序窗体现在带有一个导航控件。

    • 当您在结果集中移动时,datagrid 视图会针对当前产品按区域显示更新的销售额汇总。

      显示了 Products 表中某行及按区域分类的销售额汇总的应用程序。
  16. 关闭应用程序,然后保存您的项目。

结果

您现在已添加了会随着您对结果集的浏览自动更新的控件。

在本教程中,您学到了如何利用 Microsoft Visual Studio、Server Explorer 和 SQL Anywhere .NET 数据提供程序的强大组合来创建数据库应用程序。