当前位置:文档之家› 实验实训项目案例一

实验实训项目案例一

else objfrmMagazineQ.ShowDialog();
} (12)在 btnRegister 的 Click 事件中添加以下代码。它将根据在 cboCategory 中选择 的项加载相关的注册窗体。
private void cboCategory_SelectedIndexChanged(object sender, System.EventArgs e)
(17)在“frmBookR”窗体的构造函数中打开与数据库的连接。 public frmBookR () { InitializeComponent(); //打开连接 objOleDbConnection.Open(); (18)在“frmBookR”窗体的 Load 事件中添加以下代码。它将查询得到的书本类别
C#程序设计
MessageBox.Show(ex.Message); } } (20)用 Dispose()方法关闭与数据库的连接。 protected override void Dispose( bool disposing ) { if( disposing ) {
if(components != null) {
C#程序设计
控件 Label
TextBox
ComboBox Button
图 1.3 frmBookR 窗体
表 1.5 frmBookR 中控件的属性
名称
属性
labISBN
Text
labBookName
Text
labPublish
Text
labPDate
Text
labAuthor
Text
labPrice
(5)打开 Visual Studio .NET 2005 IDE 并新建一个名为 BookManager 的 Windows 应用 程序项目,如图 1.2 所示。
C#程序设计
图 1.2 “新建项目”对话框 (6)单击“视图”→“解决方案资源管理器”。 (7)将 Form1.cs 文件重命名为 frmCategory.cs,这个窗口用来给用户选择类型。 (8)选中 frmCategory.cs 的窗体界面单击“视图” →“属性”,然后将该窗体的 Text 属性更改为“欢迎来到书本世界”。 (9)拖动工具箱中的控件,设计如图 1.1 所示的窗体。表 1.4 列出了各个控件的属性。
{ if (cboCategory.SelectedItem.Equals("书本")) objfrmBookR.ShowDialog(); else objfrmMagazineR.ShowDialog();
} (13)将新的 WinForm 添加到“解决方案资源管理器”,并将其命名为“frmBookR”。 (14)单击“视图” →“属性”,然后将 Text 属性更改为“注册新的书本”。 拖动工具箱中的控件,设计如图 1.3 所示的窗体。表 1.5 列出了各个控件的属性。 提示:
(19)在“添加”按钮的 Click 事件中添加以下代码。该代码将用户输入的记录插入数据 库中。注意:在今后编程中应学会用 try…catch…finally 结构进行容错处理。
private void btnAddMovie_Click(object sender, System.EventArgs e) { // Insert statement string insCmd =CreateInstStr(); // Initializing Command object objOleDbCommand = new OleDbCommand(insCmd, objOleDbConnection); try { objOleDbCommand.ExecuteNonQuery(); MessageBox.Show("已添加记录"); } // Catching exception catch(OleDbException ex) {
图 1.1 类别窗体 要对两类信息管理,故至少需要两个窗体用于添加书本和杂志。用户在第一个窗体上选择 类别之后,应显示相应的窗体。程序在接受用户输入之后,应将录入信息插入到 Access 创建 的数据库中。要对数据库操作,首先必须连接数据库,然后才可以对数据库进行操作,要连 接数据库,要用到 Connection 对象,要对数据库操作,要用到 Connection 对象。 首先使用以下命名空间: using System.Data; using System.Data.OleDb; 使用以下方式创建 Connection 和 Command 对象,以便在.NET 中操作 MS Access 数据库。
private void cboCategory_SelectedIndexChanged(object sender,
System.EventArgs e)
C#程序设计
{ if (cboCategory.SelectedItem.Equals("书本") new objfrmBookQ.ShowDialog();
(3) 向 Access 数据库添加新表“magazines”,表“magazines”的结构见表 1.3,把刊 号和出版日期设为主键。
表 1.3 “magazines”表的数据库结构
列名称
数据类型
刊号
文本
出版日期
文本
出刊类型
数字,出刊类型代码(外键)
价格
货币
评论
备注
页数
数字
(4)向 Access 数据库添加新表“magazineCategory”,表“magazineCategory”的结构 有两列:一列为出刊类型代码、另一列为出刊类型名称,把出刊类型代码设为主键。
private void frmCategory_Load(object sender, System.EventArgs e)
{
cboCategory.Items.Add("书本");
cboCategory.Items.Add("杂志");
} (11)在 btnQuery 的 Click 事件中添加以下代码。它将根据在 cboCategory 中选择的 项加载相关的查询窗体。
// Closing connection objOleDbConnection.Close(); components.Dispose(); } } base.Dispose( disposing ); } (21)在“退出”按钮的 Click 事件中添加以下代码。 private void btnExit_Click(Object sender,System.eventArgs e) { This.Close(); } (22)在资源管理器里,选中工程,右击鼠标,选择“添加新窗体”,并将其命名为 “frmMagazineR”。 (23)单击“视图” →“属性”,然后将 Text 属性更改为“注册新杂志”。 (24)拖动工具箱中的控件,设计如图 1.4 所示的窗体。表 1.6 列出了各个控件的属 性。
C#程序设计
实验实训项目案例一
开发书本信息管理软件
一、问题
编写一个书本信息的单机版 WinForm 界面管理软件,让用户管理书本和杂志。处理有关
书本和杂志的详细信息,例如:ISBN、作者、出版社、类别、页数、价格、评论开发这个软件。
指导教师讲解问题说明
分析
对于这类程序的编写,一般遵循这样的一个步骤。
(1)调查分析,画出系统的数据流程图,当程序比较复杂时采用分层画法,即用自顶向
下逐层分解的方法逐步细化。
(2)设计出如表 1.1 所示的数据字典并创建数据库。
表 1.1 设计并创建数据库
字段 数据类型 长度
主键

外键 默认值 备注
(3)划分出模块并分别设计出界面。 (4)编写相应的代码。 该题目要求识别用户是要管理书本还是要管理杂志。一般来说,对于这种情况,若是比较 复杂的工程可以采用模块方式分别进行管理,为了简化,这里采用一个窗体上面放一个下拉 列表让用户选择的方式。该窗体的用户界面如图 1.1 所示。
表 1.2 “books”表的数据库结构
列名称
数据类型
ISBN
文本
书本名
文本
出版社
文本
出版日期
日期
作者
文本
价格
货币
评论
备注
页数
数字
类别
数字,类别代码(外键)
(2) 向 Access 数据库添加新表“bookCategory”,表“bookCategory”的结构有两列: 一列为类别代码、另一列为类别名称,把类别代码设为主键。
Text
labCategory
Text
labPages
Text
labComments
Text
tbxISBN
tbxBookName
tbxPublish
tbxPDate
tbxAuthor
tbxPrice
tbxPages
tbxComments
MultiLine
cbxCategory
btnAddBook
Text
C#程序设计
//Connection 对象和 Command 对象 OleDbConnection objOleDbConnection=new OleDbConnection(“Provider=Microsoft.
Jet.Oledb.4.0;Data Source=D:\\Book.mdb”); OleDbCommand objOleDbCommand; 需要在“添加”按钮的 Click 事件中初始化 Command 对象。这是通过将 objOleDbConnection 连接命令和 INSERT 命令传递给 OleDbcommand 对象来完成的,代码如下: objOleDbCommand=new OleDbCommand(InsertCommand,objOleDbConnection); 由于是对数据库的添加操作,一般情况不用判断返回值,所以使用 Command 对象的 ExecuteNonQuery()方法执行该命令。用于添加书本和杂志的两个窗体都必须遵循这个过程。 解决方案: (1) 在 MS Access 中创建“Book”数据库。添加一个表名为 books 的新表,其结构见表 1.2,并把 ISBN 号设为主键。
相关主题