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

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

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

本演练涉及以下任务:

备注

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于你现用的设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关详细信息,请参阅在 Visual Studio 中自定义开发设置

系统必备

若要完成本演练,你将需要:

创建 Windows 应用程序

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

创建新的 Windows 应用程序项目

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

  2. 将该项目命名为 UpdateSingleTableWalkthrough。

  3. 选择**“Windows 应用程序”,然后单击“确定”**。 有关详细信息,请参阅使用 .NET Framework 开发客户端应用程序

    **“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 中的数据