演练:Windows 窗体中的简单数据访问
在应用程序开发中最常用的方案之一是在窗体上显示数据。本演练阐释一个简单的 Windows 窗体,它在数据网格中显示单个表中的数据。该网格是可编辑的,您能够对数据进行更改并更新数据库。尽管结果并不复杂,但是,本演练阐释了在通过窗体访问数据时将使用的许多基本过程。
若要完成本演练,您需要:
- 访问带有 Pubs SQL Server 示例数据库的服务器。
演练被分成若干较小的部分:
- 创建 Windows 窗体。
- 创建并配置将要针对其绑定窗体的数据集。这包括创建一个通过数据库填充数据集的查询。
- 向窗体添加 DataGrid 控件,并将其绑定到数据。
- 添加代码来填充数据集。
添加将数据集更改发送回数据库的代码。
配置数据连接和数据适配器
- 从“工具箱”的“数据”选项卡中,将 SqlDataAdapter 对象拖到窗体上。
“数据适配器配置向导”启动,它将帮助您创建连接和适配器。
- 在该向导中,执行下列操作:
- 在第二个窗格中,创建或选择一个指向 SQL Server Pubs 数据库的连接。
- 在第三个窗格中,指定您要使用 SQL 语句来访问数据库。
- 在第四个窗格中创建以下 SQL 语句:
d. SELECT au_id, au_lname, au_fname, city, state, phone, contract
FROM authors
为了便于生成 SQL 语句,请单击“查询生成器”以启动“查询生成器”。
生成数据集
- 从“数据”菜单中选择“生成数据集”。
提示 如果看不到“数据”菜单,请在窗体中单击;窗体必须具有焦点,该菜单才会出现。
显示“生成数据集”对话框。
- 选择“新建”选项,将数据集命名为 dsAuthors。
在“选择要添加到数据集中的表”下面的列表中,应选择“authors”表。
确保“将此数据集添加到设计器”已选中,然后单击“确定”。
添加显示数据的 DataGrid 控件
向窗体添加绑定 DataGrid 控件
- 如果尚未这样做,请单击当前窗口顶部的选项卡以切换到窗体设计器。
- 从“工具箱”的“Windows 窗体”选项卡中,将 DataGrid 控件拖到窗体上。
- 按 F4 键以显示“属性”窗口。
- 在 DataSource 属性中,选择 DsAuthors1(或 dsAuthors1)作为数据源。不选择 DsAuthors1.Authors(或 dsAuthors1.Authors)。
- 在 DataMember 属性中选择“authors”。
设置这两个属性会将 DsAuthors1 数据集内的 authors 数据表绑定到网格。
填充 DataGrid 控件
- 从“工具箱”的“Windows 窗体”选项卡中,将 Button 控件拖到窗体上。
- 将该按钮命名为 btnLoad,通过设置其 Text 属性将标题更改为“加载”。
- 双击该按钮以创建其 Click 事件的事件处理方法。
private void btnLoad_Click(object sender, System.EventArgs e)
{
dsAuthors1.Clear();
oleDbDataAdapter1.Fill(dsAuthors1);
}
{
dsAuthors1.Clear();
oleDbDataAdapter1.Fill(dsAuthors1);
}
更新数据库
更新数据库
- 从“工具箱”的“Windows 窗体”选项卡中,将 Button 控件拖到窗体上。
- 将该按钮命名为 btnUpdate,通过设置其 Text 属性将标题更改为“保存对数据库的更改”。
- 双击该按钮以创建其 Click 事件的事件处理方法。
- 在该方法中调用数据适配器的 Update 方法,向该方法传递数据集,该数据集包含要发送到数据库中的更新。使用“消息框”(MessageBox) 对象显示确认文本。
private void btnUpdate_Click(object sender, System.EventArgs e)
{
oleDbDataAdapter1.Update(dsAuthors1);
MessageBox.Show("Database updated!");
}
{
oleDbDataAdapter1.Update(dsAuthors1);
MessageBox.Show("Database updated!");
}