Visual Studio 2010 (C#) Windows数据库项目开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.3 学生数据维护

3.3.1 修改数据集并添加到学生表

(1)在“解决方案资源管理器”中双击“dsXk.xsd”编辑数据集。

(2)在“服务器资源管理器”中展开“数据连接”下的“home\sqlexpress.Xk.dbo”,展开“表”,将“Student”拖放到数据集的设计界面中。

3.3.2 设计学生信息窗体并维护数据

(1)在项目中添加新的Windows窗体,命名为“frmStudent”。

(2)将窗体拉到适当大小,设置窗体的“Text”属性为“学生信息”。

(3)打开“数据源”,如果看不到,可选择“数据”菜单下的“显示数据源”命令。

(4)如图3-32所示,在“数据源”中确保Student左边的图标为详细信息状态。如果不是,可单击下拉按钮后选择“详细信息”选项。

(5)在“数据源”中拖放“Student”到frmStudent窗体中。如图3-33所示,可以看到窗体中没有DataGridView,而是以TextBox的方式来显示和操作数据。这就是在“数据源”中将Student设置为“DataGridView”和“详细信息”的区别。

图3-32 设置Student为“详细信息”方式

图3-33 设置Student为“详细信息”方式拖放后生成的窗体

(6)在主窗体中加入调用Student窗体的代码。在“解决方案资源管理器”中双击“frmMain”,打开该窗体的设计界面。双击“学生信息”菜单,为该菜单编写Click事件,代码如下。

private void学生信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
     frmStudent f = new frmStudent();
     f.MdiParent = this;
     f.Show();
}

(7)在主窗体中单击“学生信息”菜单,现在的运行效果如图3-34所示。

图3-34 Student窗体的运行效果

学生所在的班级应该显示为“班级名称”,这样的界面比较友好,修改时,从“班级名称”里挑选一个班级也比直接输入班级代码方便,而且不会出错。下面我们将做这方面的改进。

(8)切换到Student窗体的设计界面,如图3-35所示,将Class No右侧的TextBox删除,从“工具箱”的“公共控件”面板中拖放一个ComboBox到Class No右侧。

图3-35 拖放一个ComboBox用于显示学生所在班级的信息

(9)如图3-36所示,设置新添加的ComboBox的DropDownStyle属性值为“DropDownList”,使下拉列表只可选择,而不允许输入。

(10)如图3-37所示,单击ComboBox任务,选中“使用数据绑定项”复选框。

图3-36 设置ComboBox的DropDownStyle属性值

图3-37 选中“使用数据绑定项”复选框

(11)如图3-38所示,设置“数据源”为“Class”。

图3-38 设置数据源

如果已经这样操作过,系统将自动添加classBindingSource控件,再次在下拉列表中选择时,选择classBindingSource选项即可。

(12)如图3-39所示,设置“显示成员”为“ClassName”。

(13)如图3-40所示,设置“值成员”为“ClassNo”。

(14)如图3-41所示,设置“选定值”为studentBindingSource下的“ClassNo”。

图3-39 设置显示成员

图3-40 设置值成员

图3-41 设置选定值

以上几部操作的意思为:下拉列表中将显示为班级名称。班级表中有很多班级,最终显示的班级,是学生表中的ClasstNo在Class表中找到的对应ClassName。

更新数据时,也会将下拉列表中ClassName对应的ClassNo更新到Student表中。

(15)如图3-42所示,调整各Label的Text属性,使界面更为友好。

图3-42 设置Label的Text属性

(16)继续改进,将“性别”设置为下拉列表,以便在下拉列表中选择“男”或“女”选项,这样比直接输入方便。

(17)如图3-43所示,将“性别”右侧的TextBox删除,从“工具箱”的“公共控件”面板中拖放一个ComboBox到“性别”右侧。

(18)设置DropDownStyle属性值为“DropDownList”,使下拉列表只可选择,而不允许输入。

图3-43 放置“性别”下拉列表

(19)如图3-44所示,单击“ComboBox任务”,选择“编辑项”选项。

图3-44 选择“编辑项”选项

(20)如图3-45所示,输入两行文字,分别为“男”、“女”,单击“确定”按钮。

(21)如图3-46所示,选中“性别”下拉列表,查看其属性,展开DataBindings,设置“SelectedItem”属性为studentBindingSource下的“Sex”。

图3-45 编辑“性别”项

图3-46 绑定“性别”数据项

(22)调整日期格式,如图3-47所示,选中“出生日期”旁的DateTimePicker控件,设置Format属性为“Custom”、CustomFormat属性为“yyyy-MM-dd”,表示4位年、2位月、2位日的格式。

图3-47 调整日期格式

(23)在主窗体中单击“学生信息”菜单,现在的运行效果如图3-48所示。

图3-48 学生信息窗体的最终运行效果

(24)在不违反数据库相关约束规则的前提下,可做如下测试。

① 添加一条学生记录,其中“所在班级”可在下拉列表中进行选择,单击“保存”按钮,在数据库中验证是否加入了该数据。验证一下ClasstNo是否为下拉列表中选择的班级名称对应的ClassNo。

② 修改刚添加的记录,单击“保存”按钮,在数据库中验证是否修改了该数据。

③ 删除刚添加的记录,单击“保存”按钮,在数据库中验证是否删除了该数据。