![Visual Studio 2010 (C#) Windows数据库项目开发](https://wfqqreader-1252317822.image.myqcloud.com/cover/367/654367/b_654367.jpg)
3.1 系部数据维护
3.1.1 创建数据集并添加到系部表
(1)如图3-1所示,在“解决方案资源管理器”中右击Xk项目,选择“添加”下的“新建项”命令。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-01.jpg?sign=1738890947-51l9VSnYJ8FH8XFwWjTY5Nv3mvUgjmg6-0-b33c20503a9424dc97a2a492a6fa38f5)
图3-1 添加新项
(2)如图3-2所示,在“添加新项”对话框中单击“排序依据”右侧的按钮,以小图标的方式查看,这样可在下面看到更多的选项。在“已安装的模板”中选择“数据”选项,中间部分选择“数据集”选项,输入名称为“dsXk.xsd”,单击“添加”按钮。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-02.jpg?sign=1738890947-axWBrq9wxRNB3WBYN9YXr48ymUhe6BJk-0-3b2bf0374367e8dcf4320865f532122a)
图3-2 添加数据集
(3)添加了新的数据集后,系统切换到如图3-3所示的界面,单击“服务器资源管理器”超链接。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-03.jpg?sign=1738890947-OPz6xVjpclT3pHLP29HP3PIvICzEsX9o-0-b4a45b90d27a3c2f580c88a490dbf6d7)
图3-3 数据集初始界面
(4)如图3-4所示,在“服务器资源管理器”中右击“数据连接”,选择“添加连接”命令。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-04.jpg?sign=1738890947-fnLVfBTMKW6erwf6klwttoDBuP46ni3R-0-d21ad0002f73250acba61a94cfc61b99)
图3-4 添加连接
(5)如图3-5所示,确保数据源是“Microsoft SQL Server(SqlClient)”。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-05.jpg?sign=1738890947-SG15fkTGRkwEW9OODsQQvpfGX4u23L7e-0-4e5c5359e3f106c30b6b9a14c9a455dc)
图3-5 添加连接设置
设置对话框中的参数如下。
① 服务器名:输入“.\SQLEXPRESS”,读者可根据自己的环境进行调整。
② 选中“使用Windows身份验证”单选按钮。
③ 在“选择或输入一个数据库名”下拉列表中选择“Xk”选项。
设置完成后单击“确定”按钮。
如果数据源不是“Microsoft SQL Server(SqlClient)”(没有出现如图3-5所示的界面),则单击“更改”按钮,出现如图3-6所示的对话框,选择“Microsoft SQL Server”选项,单击“确定”按钮后将回到如图3-5所示的界面。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-06.jpg?sign=1738890947-Mhby253mqKOUqXe8sQtRkkCkBuO8TbXP-0-075c0fe387e4717c35c44518b8f97e4b)
图3-6 更改数据源
(6)在“服务器资源管理器”中展开刚才添加的连接,这里显示为“home\sqlexpress.Xk.dbo”,其中home为编者的机器名称,读者可能显示的不一样。
(7)如图3-7所示,单击“数据连接”下的“home\sqlexpress.Xk.dbo”选项,再单击“表”展开,将“Department”拖放到数据集的设计界面中。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-07.jpg?sign=1738890947-cmzK3siErnXRoNHjLNADDeqCCzyBxqxs-0-a4218d6a2cef4b607853b5dd2d593095)
图3-7 将表拖放到数据集中
3.1.2 设计系部信息窗体并维护数据
(1)如图3-8所示,在“解决方案资源管理器”中右击Xk项目,选择“添加”下的“Windows窗体”命令。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-08.jpg?sign=1738890947-wTwXgK7XzSMD53aia9zY2bOgWH8JsbN5-0-34ca7e435c4b2bdf2621407119756bf7)
图3-8 选择“Windows窗体”命令
(2)如图3-9所示,默认已经选择了“Visual C#项”下的“Windows窗体”,在“名称”文本框中输入“frmDepartment.cs”,单击“添加”按钮。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-09.jpg?sign=1738890947-RO78xW8x0cORSGBMV1f78IuUJ0MTjfQP-0-849a0f95b2a75b4177d0268b4a2f450f)
图3-9 添加名为frmDepartment的Windows窗体
(3)将窗体拉到适当大小,设置窗体的“Text”属性为“系部信息”。
(4)如图3-10所示,选择“数据”菜单下的“显示数据源”命令。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-10.jpg?sign=1738890947-GJtEheXCxfSqlLfD2WkZX0nxYXvNGVxp-0-258e48495a6f30332db3f104c21c407a)
图3-10 选择“显示数据源”命令
(5)如图3-11所示,在“数据源”中确保Department左边的图标为DataGridView状态。如果不是,可单击下拉按钮后选择“DataGridView”选项。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-11.jpg?sign=1738890947-lHuI75yFerumnLYogLjviaSt1yCRGpUo-0-5714c1c34dfb26f7018972be4c1ed98c)
图3-11 确保Department左边的图标为DataGridView状态
(6)如图3-12所示,在“数据源”中拖放“Department”到frmDepartment窗体中。
拖放后,窗体中多了如下控件。
① Xk.dsXk的一个实例dsXk。
② 一个BindingSource,名为departmentBindingSource。
③ Xk.dsXkTableAdapters.DepartmentTableAdapter的实例departmentTableAdapter。
④ Xk.dsXkTableAdapters.TableAdapterManager的实例tableAdapterManager。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-12.jpg?sign=1738890947-q79WtqpeiyhYN89RmgEBwXAdETKkMgU7-0-679dae0a66bee2d5b69f9f7145afdd1a)
图3-12 拖放数据源中的表
⑤ 一个BindingNavigator,名为departmentBindingNavigator。这个控件在窗体中有两种表现形式,另一种形式就是窗体上方的导航条。
(7)窗体中还自动添加了一些代码,我们切换到该窗体的代码形式来观察一下。
在窗体的Load事件中,将根据数据集中的Fill方法将数据加载到数据集中,代码如下。
private void frmDepartment_Load(object sender, EventArgs e) { // TODO: 这行代码将数据加载到表dsXk.Department中,用户可以根据需要移动或删除它 this.departmentTableAdapter.Fill(this.dsXk.Department); }
bindingNavigator1中的departmentBindingNavigatorSaveItem添加了Click事件,单击按钮时将数据集中数据的变化(包括增、删、改)更新到数据库中。反之,如果不单击“保存”按钮,则数据不会更新到数据库中。“保存”按钮的Click事件代码如下。
private void departmentBindingNavigatorSaveItem_Click(object sender, EventArgs e) { this.Validate(); this.departmentBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.dsXk); }
(8)调整DataGridView的列标题,如图3-13所示,单击DataGridView右上角的小三角按钮,选择“编辑列”选项。
(9)如图3-14所示,在左侧选定的列中选中“DepartNo”,在右侧绑定的属性中,设置“HeaderText”为“系部代码”。我们可以看一下DataPropertyName属性已设为“DepartNo”,实际上显示表中的哪一列数据就是由该属性决定的。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-13.jpg?sign=1738890947-DadxWw2rcyoE6WogW1GSAg9PTOePLwBp-0-9e9f96fefeb3eb9c882c5585b1cbcb69)
图3-13 编辑列
类似地,将DepartName的“HeaderText”设置为“系部名称”,单击“确定”按钮。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-14.jpg?sign=1738890947-kAAy6Zl9rJ7pJum9aW7Nzpzpns00RkKj-0-ebb2ce6cfc7a4e05ca3856f84c10de25)
图3-14 编辑列标题
(10)在主窗体中加入调用frmDepartment窗体的代码。如图3-15所示,在“解决方案资源管理器”中双击“frmMain”,打开该窗体的设计界面。双击“系部信息”菜单,将生成该菜单的Click事件框架。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-15.jpg?sign=1738890947-XP48zpOiiMnyJXjB599BWwl0JLjLQq0B-0-9c65af65056943d61d9216192bf7c8be)
图3-15 双击菜单生成其Click事件框架
(11)编写“系部信息”菜单的Click事件代码如下。
private void系部信息ToolStripMenuItem_Click(object sender, EventArgs e) { frmDepartment f =new frmDepartment(); f.MdiParent = this; f.Show(); }
(12)按F5键运行项目,在主窗体中单击“系部信息”菜单,运行效果如图3-16所示。
![](https://epubservercos.yuewen.com/479A39/3590270304425901/epubprivate/OEBPS/Images/Figure-0003-16.jpg?sign=1738890947-8z5raSKQBiOXO71YjTQdzW7eSahvf4GT-0-fe74654a7dd3c3799c0bbf3d140dcaf9)
图3-16 系部信息的运行效果
(13)在不违反数据库相关约束规则的前提下,可做如下测试。
① 添加一条记录,单击“保存”按钮,在数据库中验证是否加入了该数据。
② 修改刚添加的记录,单击“保存”按钮,在数据库中验证是否修改了该数据。
③ 删除刚添加的记录,单击“保存”按钮,在数据库中验证是否删除了该数据。