演练:将数据保存到数据库(单个表)
应用程序开发中最常用方案之一是在 Windows 应用程序窗体中显示数据、编辑数据并将更新后的数据发回数据库。 此演练创建一个简单窗体,能在单独的控件中显示单个表的数据。 可以在控件中编辑数据并将更改保存回数据库。 本示例使用源自 Northwind 示例数据库的 Customers 表。
通过调用 TableAdapter 的 Update 方法,可以将应用程序中的数据保存回数据库。 当从**“数据源”**窗口拖动项时,为拖动到窗体上的第一个表自动添加保存数据的代码。 添加到窗体的任何其他表都要求手动添加保存数据所需的所有代码。 有关从多个表保存数据的信息,请参见 演练:将数据保存到数据库(多个表)。
本演练涉及以下任务:
创建新的**“Windows 应用程序”**项目。
使用 数据源配置向导 在应用程序中创建和配置数据源。
在 “数据源”窗口 中设置项的控件。 有关更多信息,请参见 如何:设置从“数据源”窗口中拖动时要创建的控件。
通过将某些项从**“数据源”**窗口拖到您的窗体上来创建数据绑定控件。
修改数据集中的一些记录。
添加代码以将数据集中更新后的数据发回数据库。
提示
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。 有关更多信息,请参见 使用设置。
系统必备
若要完成本演练,您需要:
- 对 Northwind 示例数据库的访问权。 有关更多信息,请参见 如何:安装示例数据库。
创建 Windows 应用程序
第一步是创建**“Windows 应用程序”**。 在此步骤中为项目指定名称是可选的,但由于我们打算稍后保存该项目,因此为它指定了一个名称。
创建新的 Windows 应用程序项目
从**“文件”**菜单创建一个新的项目。
将该项目命名为 UpdateSingleTableWalkthrough。
选择**“Windows 应用程序”,然后单击“确定”**。 有关更多信息,请参见 创建基于 Windows 的应用程序。
UpdateSingleTableWalkthrough 项目即被创建并添加到**“解决方案资源管理器”**中。
创建数据源
此步骤使用**“数据源配置向导”**从 Northwind 数据库创建一个数据源。 必须能够访问 Northwind 示例数据库才能完成此向导。 有关设置 Northwind 示例数据库的信息,请参见 如何:安装示例数据库。
创建数据源
在**“数据”菜单上,单击“显示数据源”**。
在**“数据源”窗口中,单击“添加新数据源”,启动“数据源配置向导”**。
在**“选择数据源类型”页上选择“数据库”,然后单击“下一步”**。
在**“选择您的数据连接”**页面上执行下列操作之一:
如果下拉列表中包含到 Northwind 示例数据库的数据连接,请选择该连接。
- 或 -
选择**“新建连接”,打开“添加/修改连接”**对话框。 有关更多信息,请参见 “添加/修改连接”对话框(通用)。
如果数据库需要密码,请选择该选项以包括敏感数据,再单击**“下一步”**。
在**“将连接字符串保存到应用程序配置文件”页面上单击“下一步”**。
在**“选择数据库对象”页面上展开“表”**节点。
选择 Customers 表,再单击**“完成”**。
**“NorthwindDataSet”即被添加到您的项目中,并且“数据源”**窗口中出现 Customers 表。
设置要创建的控件
对于此演练,数据将处于**“详细信息”**布局(数据在单独控件中显示)而不是 DataGridView 的默认布局。
为“数据源”窗口中的项设置控件
在**“数据源”窗口中展开“Customers”**节点。
通过从**“Customers”节点的下拉列表中选择“详细信息”,将“Customers”**表的控件更改为单个控件。 有关更多信息,请参见 如何:设置从“数据源”窗口中拖动时要创建的控件。
创建数据绑定窗体
可以通过将某些项从**“数据源”**窗口拖到您的窗体上来创建数据绑定控件。
在窗体上创建数据绑定控件
将主**“Customers”节点从“数据源”窗口拖到“Form1”**上。
带有描述性标签的数据绑定控件会出现在窗体上,同时还显示一个工具条 (BindingNavigator),用于在记录间进行导航。 组件栏中出现 NorthwindDataSet、CustomersTableAdapter、BindingSource 和 BindingNavigator。
修改代码以更新数据库
通过调用 CustomersTableAdapter 的 Update 方法可以更新数据库。 默认情况下,BindingNavigator 的**“保存”**按钮的事件处理程序被添加到窗体代码中,以将更新内容发送到数据库。 此过程将通过在 try-catch 块中包装更新调用来修改代码以包含错误处理。 可以根据应用程序的需要修改代码。
向应用程序添加更新逻辑
在 BindingNavigator 上双击**“保存”按钮,打开“代码编辑器”**并转到 bindingNavigatorSaveItem_Click 事件处理程序。
替换该事件处理程序中的代码以添加一些错误处理。 代码应类似于:
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"); }
测试应用程序
测试应用程序
按 F5。
对一条或多条记录的数据进行一些更改。
按**“保存”**按钮。
检查数据库中的值以验证更改已保存。
后续步骤
根据应用程序的要求,在 Windows 应用程序中创建了绑定数据窗体后,还需要执行一些步骤。 您可以通过以下操作来增强此演练的效果:
在窗体上添加搜索功能。 有关更多信息,请参见 如何:向 Windows 窗体应用程序中添加参数化查询。
添加显示相关数据的控件。 有关更多信息,请参见 如何:在 Windows 窗体应用程序中显示相关数据。
编辑数据源以添加或移除数据库对象。 有关更多信息,请参见 如何:编辑数据集。
请参见
概念
在 Visual Studio 中将 Windows 窗体控件绑定到数据