演练:将数据保存到数据库(单个表)

应用程序开发中最常用方案之一是在 Windows 应用程序窗体中显示数据、编辑数据并将更新后的数据发回数据库。 此演练创建一个简单窗体,能在单独的控件中显示单个表的数据。 可以在控件中编辑数据并将更改保存回数据库。 本示例使用源自 Northwind 示例数据库的 Customers 表。

通过调用 TableAdapter 的 Update 方法,可以将应用程序中的数据保存回数据库。 当从**“数据源”**窗口拖动项时,为拖动到窗体上的第一个表自动添加保存数据的代码。 添加到窗体的任何其他表都要求手动添加保存数据所需的所有代码。 有关从多个表保存数据的信息,请参见 演练:将数据保存到数据库(多个表)

本演练涉及以下任务:

提示

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。 有关更多信息,请参见 使用设置

系统必备

若要完成本演练,您需要:

创建 Windows 应用程序

第一步是创建**“Windows 应用程序”**。 在此步骤中为项目指定名称是可选的,但由于我们打算稍后保存该项目,因此为它指定了一个名称。

创建新的 Windows 应用程序项目

  1. 从**“文件”**菜单创建一个新的项目。

  2. 将该项目命名为 UpdateSingleTableWalkthrough。

  3. 选择**“Windows 应用程序”,然后单击“确定”**。 有关更多信息,请参见 创建基于 Windows 的应用程序

    UpdateSingleTableWalkthrough 项目即被创建并添加到**“解决方案资源管理器”**中。

创建数据源

此步骤使用**“数据源配置向导”**从 Northwind 数据库创建一个数据源。 必须能够访问 Northwind 示例数据库才能完成此向导。 有关设置 Northwind 示例数据库的信息,请参见 如何:安装示例数据库

创建数据源

  1. 在**“数据”菜单上,单击“显示数据源”**。

  2. 在**“数据源”窗口中,单击“添加新数据源”,启动“数据源配置向导”**。

  3. 在**“选择数据源类型”页上选择“数据库”,然后单击“下一步”**。

  4. 在**“选择您的数据连接”**页面上执行下列操作之一:

    • 如果下拉列表中包含到 Northwind 示例数据库的数据连接,请选择该连接。

      - 或 -

    • 选择**“新建连接”,打开“添加/修改连接”**对话框。 有关更多信息,请参见 “添加/修改连接”对话框(通用)

  5. 如果数据库需要密码,请选择该选项以包括敏感数据,再单击**“下一步”**。

  6. 在**“将连接字符串保存到应用程序配置文件”页面上单击“下一步”**。

  7. 在**“选择数据库对象”页面上展开“表”**节点。

  8. 选择 Customers 表,再单击**“完成”**。

    **“NorthwindDataSet”即被添加到您的项目中,并且“数据源”**窗口中出现 Customers 表。

设置要创建的控件

对于此演练,数据将处于**“详细信息”**布局(数据在单独控件中显示)而不是 DataGridView 的默认布局。

为“数据源”窗口中的项设置控件

  1. 在**“数据源”窗口中展开“Customers”**节点。

  2. 通过从**“Customers”节点的下拉列表中选择“详细信息”,将“Customers”**表的控件更改为单个控件。 有关更多信息,请参见 如何:设置从“数据源”窗口中拖动时要创建的控件

创建数据绑定窗体

可以通过将某些项从**“数据源”**窗口拖到您的窗体上来创建数据绑定控件。

在窗体上创建数据绑定控件

修改代码以更新数据库

通过调用 CustomersTableAdapter 的 Update 方法可以更新数据库。 默认情况下,BindingNavigator 的**“保存”**按钮的事件处理程序被添加到窗体代码中,以将更新内容发送到数据库。 此过程将通过在 try-catch 块中包装更新调用来修改代码以包含错误处理。 可以根据应用程序的需要修改代码。

向应用程序添加更新逻辑

  1. BindingNavigator 上双击**“保存”按钮,打开“代码编辑器”**并转到 bindingNavigatorSaveItem_Click 事件处理程序。

  2. 替换该事件处理程序中的代码以添加一些错误处理。 代码应类似于:

    Try
        Me.Validate()
        Me.CustomersBindingSource.EndEdit()
        Me.CustomersTableAdapter.Update(Me.NorthwindDataSet.Customers)
        MsgBox("Update successful")
    
    Catch ex As Exception
        MsgBox("Update failed")
    End Try
    
    try
    {
        this.Validate();
        this.customersBindingSource.EndEdit();
        this.customersTableAdapter.Update(this.northwindDataSet.Customers);
        MessageBox.Show("Update successful");
    }
    catch (System.Exception ex)
    {
        MessageBox.Show("Update failed");
    }
    

测试应用程序

测试应用程序

  1. 按 F5。

  2. 对一条或多条记录的数据进行一些更改。

  3. 按**“保存”**按钮。

  4. 检查数据库中的值以验证更改已保存。

后续步骤

根据应用程序的要求,在 Windows 应用程序中创建了绑定数据窗体后,还需要执行一些步骤。 您可以通过以下操作来增强此演练的效果:

请参见

概念

数据应用程序开发中的新增功能

在 Visual Studio 中将 Windows 窗体控件绑定到数据

在 Visual Studio 中将控件绑定到数据

其他资源

数据演练

连接到 Visual Studio 中的数据

准备应用程序以接收数据

将数据获取到应用程序

在应用程序中编辑数据

验证数据

保存数据