演练:用 TableAdapter DBDirect 方法保存数据
更新:2007 年 11 月
针对使用 TableAdapter 的 DBDirect 方法的数据库,此演练提供有关直接执行 SQL 语句的详细说明。TableAdapter 的 DBDirect 方法可对数据库更新进行精确的控制。在这些方法的帮助下,您可以通过调用应用程序所需的单个 Insert、Update 和 Delete 方法来执行特定的 SQL 语句和存储的步骤(而不是在一次调用中执行全部 UPDATE、INSERT 和 DELETE 语句的重载的 Update 方法)。
通过此演练,您将学会如何执行以下任务:
创建新的“Windows 应用程序”。
用 数据源配置向导 创建并配置数据集。
选择从“数据源”窗口拖动某些项时要在窗体上创建的控件。有关更多信息,请参见如何:设置从“数据源”窗口中拖动时要创建的控件。
通过将某些项从“数据源”窗口拖到窗体上来创建数据绑定窗体。
添加直接访问数据库的方法以及对数据库直接执行插入、更新和删除的方法。
先决条件
若要完成本演练,您需要:
- 能够访问 Northwind 示例数据库。有关更多信息,请参见如何:安装示例数据库。
创建 Windows 应用程序
第一步是创建“Windows 应用程序”。
创建新的 Windows 项目
在 Visual Studio 中,从“文件”菜单创建一个新的“项目”。
将项目命名为 TableAdapterDbDirectMethodsWalkthrough。
选择“Windows 应用程序”,再单击“确定”。有关更多信息,请参见创建基于 Windows 的应用程序。
“TableAdapterDbDirectMethodsWalkthrough”项目被创建并被添加到“解决方案资源管理器”中。
从数据库创建数据源
此步骤根据 Northwind 示例数据库中的 Region 表,使用“数据源配置向导”创建数据源。必须具有访问 Northwind 示例数据库的权限才能创建连接。有关设置 Northwind 示例数据库的信息,请参见 如何:安装示例数据库。
创建数据源
在“数据”菜单上单击“显示数据源”。
在“数据源”窗口中,选择“添加新数据源”,启动“数据源配置向导”。
在“选择数据源类型”页面上选择“数据库”,再单击“下一步”。
在“选择您的数据连接”页面上进行以下某一操作:
如果下拉列表中包含到 Northwind 示例数据库的数据连接,请选中该连接。
- 或 -
选择“新建连接”,启动“添加/修改连接”对话框。有关更多信息,请参见“添加/修改连接”对话框(通用)。
如果数据库需要密码,请选择该选项以包括敏感数据,再单击“下一步”。
在“将连接字符串保存到应用程序配置文件”页面上单击“下一步”。
在“选择数据库对象”页面上展开“表”节点。
选择 Region 表,再单击“完成”。
“NorthwindDataSet”被添加到您的项目中,然后 Region 表出现在“数据源”窗口中。
将控件添加到要显示数据的窗体
通过将某些项从“数据源”窗口拖到您的窗体上来创建数据绑定控件。
在 Windows 窗体上创建数据绑定控件
将主“Region”节点从“数据源”窗口拖到窗体上。
用于导航记录的 DataGridView 控件和工具栏(BindingNavigator)出现在窗体上。组件栏中出现 NorthwindDataSet、RegionTableAdapter、BindingSource 和 BindingNavigator。
添加将调用单个 TableAdapter DbDirect 方法的按钮
将三个 Button 控件从“工具箱”拖到“Form1”(在“RegionDataGridView”下面)上。
在每个按钮上设置以下“名称”和“文本”属性。
名称
文本
InsertButton
插入
UpdateButton
更新
DeleteButton
删除
添加将新记录插入数据库所使用的代码
双击“InsertButton”创建 Click 事件的事件处理程序,并在代码编辑器中打开窗体。
用下面的代码替换 InsertButton_Click 事件处理程序:
Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles InsertButton.Click Dim newRegionID As Integer = 5 Dim newRegionDescription As String = "NorthEastern" Try RegionTableAdapter1.Insert(newRegionID, newRegionDescription) Catch ex As Exception MessageBox.Show("Insert Failed") End Try RefreshDataset() End Sub Private Sub RefreshDataset() Me.RegionTableAdapter1.Fill(Me.NorthwindDataSet1._Region) End Sub
private void InsertButton_Click(object sender, EventArgs e) { Int32 newRegionID = 5; String newRegionDescription = "NorthEastern"; try { regionTableAdapter1.Insert(newRegionID, newRegionDescription); } catch (Exception ex) { MessageBox.Show("Insert Failed"); } RefreshDataset(); } private void RefreshDataset() { this.regionTableAdapter1.Fill(this.northwindDataSet1.Region); }
添加更新数据库中的记录所使用的代码
双击“UpdateButton”创建 Click 事件的事件处理程序,并在代码编辑器中打开窗体。
用下面的代码替换 UpdateButton_Click 事件处理程序:
Private Sub UpdateButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles UpdateButton.Click Dim newRegionID As Integer = 5 Try RegionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern") Catch ex As Exception MessageBox.Show("Update Failed") End Try RefreshDataset() End Sub
private void UpdateButton_Click(object sender, EventArgs e) { Int32 newRegionID = 5; try { regionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern"); } catch (Exception ex) { MessageBox.Show("Update Failed"); } RefreshDataset(); }
添加删除数据库中的记录所使用的代码
双击“DeleteButton”创建 Click 事件的事件处理程序,并在代码编辑器中打开窗体。
用下面的代码替换 DeleteButton_Click 事件处理程序:
Private Sub DeleteButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles DeleteButton.Click Try RegionTableAdapter1.Delete(5, "Updated Region Description") Catch ex As Exception MessageBox.Show("Delete Failed") End Try RefreshDataset() End Sub
private void DeleteButton_Click(object sender, EventArgs e) { try { regionTableAdapter1.Delete(5, "Updated Region Description"); } catch (Exception ex) { MessageBox.Show("Delete Failed"); } RefreshDataset(); }
运行应用程序
运行应用程序
按 F5 运行应用程序。
单击“插入”按钮,并验证新记录是否出现在网格中。
单击“更新”按钮,并验证记录是否在网格中被更新。
单击“删除”按钮,并验证记录是否从网格中被移除。
后续步骤
根据应用程序的要求,创建数据绑定窗体后,还需要执行一些步骤。您可以通过以下操作来增强此演练的效果:
向该窗体添加搜索功能。有关更多信息,请参见 如何:向 Windows 应用程序中的窗体添加参数化查询。
通过从“数据源”窗口中选择“使用向导配置数据集”将其他表添加到数据集中。可以通过将相关节点拖到窗体上来添加显示相关数据的控件。有关更多信息,请参见如何:在 Windows 应用程序中显示相关数据。