《软件开发工具与环境》实验指导.docx
- 文档编号:28406116
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:39
- 大小:187.69KB
《软件开发工具与环境》实验指导.docx
《《软件开发工具与环境》实验指导.docx》由会员分享,可在线阅读,更多相关《《软件开发工具与环境》实验指导.docx(39页珍藏版)》请在冰豆网上搜索。
《软件开发工具与环境》实验指导
《软件开发工具与环境》实验指导
实验目的:
系统掌握VisualBasic应用软件的使用,能够设计出简单的信息管理系统,并实现基本功能。
实验内容:
图书入库管理系统的设计与实现
实验步骤:
一、创建数据库和表(利用Access)
1、打开Access
2、单击“新建文件”任务窗格中的“空数据库”,弹出如图1所示的对话框。
图1
图2
3、在“保存位置”处选择数据库保存的路径,在“文件名”处写上数据库的名称book,然后单击“创建”按钮,打开如图2所示的窗口。
4、在图2所示的窗口中首先单击左窗格中“表”按钮,然后单击工具栏上的“设计”按钮,打开如图3所示的窗口,进行表结构的设计。
5、在字段列输入要设计的表的各字段的名称,在数据类型列选择各字段的类型,并在字段大小列输入字段的长度。
6、关键字的设置:
表设计完成之后,选中一个或多个字段后单击Access工具栏上的“关键字”按钮即可。
图3
图4
7、单击Access工具栏上的“保存”按钮,弹出如图4所示的对话框,在该对话框中输入表的名称后单击“确定”按钮即可。
在本实验中需要用到三个表,表名分别为:
“书”、“图书入库”和“用户表”。
这两个表的结构如表1和表2和表3所示。
表1:
书
字段名称
字段类型
字段大小
是否为关键字
是否为空
图书编号
文本
8
是
否
书名
文本
50
否
否
作者
文本
8
否
否
出版社
文本
50
否
否
价格
货币
8
否
否
版次
文本
6
否
否
书号
文本
11
否
否
库存
数字
6
否
否
表2:
图书入库
字段名称
字段类型
字段大小
是否为关键字
是否为空
入库编号
数字
8
是
否
图书编号
文本
8
否
否
入库数量
数字
5
否
否
入库时间
日期
8
否
否
单价
货币
8
否
否
操作者
文本
8
否
否
8、表结构设计完成并之后,可以进行数据的添加,例如为“书”表添加记录:
在图2中双击“书”,打开如图5所示的窗口,在该窗口中进行数据的录入,录入完毕退出即可。
表3:
用户表
字段名称
字段类型
字段大小
是否为关键字
是否为空
用户名称
文本
12
是
否
密码
文本
16
否
否
图书信息管理
逻辑型
1
否
否
图书入库信息管理
逻辑型
1
否
否
图5
二、创建一个数据源,数据源的名称为book。
三、创建工程
新建一个工程,工程名保存为“图书入库管理”。
四、界面设计
1、设计“主窗体”
主窗体frmMain设计如图6所示。
frmMain窗体为MDI窗体,该窗体的属性设置如表3所示,菜单设置如表4所示。
2、设计“图书基本信息添加”窗体,如图7所示,该窗体的属性设置如表5所示,本窗体由6个标签控件(它们的caption属性分别为:
分类号、书名、作者、出版社、版次、价格、书号)、3个文本框控件(text1、text2、text3)、4个组合框控件(combo1、combo2、combo3、combo4)、4个命令按钮(cmd_addnew、cmd_cancel、cmd_save、cmd_exit)和1个ado控件组成。
Ado控件与数据库的连接采用ODBC数据源连接“书”
表。
窗体设计完成之后,将cmd_cancel、cmd_save按钮叠加在一起。
图6
表3
属性
值
Caption
图书入库信息管理系统
名称
frmMain
表4
菜单名称
菜单标题
说明
m_file
文件
主菜单1
m_exit
退出
主菜单1的子菜单
m_xxgl
图书基本信息管理
主菜单2
m_xxtj
图书基本信息录入
主菜单2的子菜单
m_xxxg
图书基本信息编辑
主菜单2的子菜单
m_mmcx
图书基本信息查询
主菜单2的子菜单
m_rkxxgl
图书入库信息管理
主菜单3
m_rkxxtj
图书入库信息录入
主菜单3的子菜单
m_rkxxcx
图书入库信息查询
主菜单3的子菜单
表5
属性
值
窗体的Caption
图书基本信息添加
窗体的名称
f_xxtj
3、设计“图书信息编辑”窗体,如图8所示,该窗体的属性设置如表6所示,本窗体由3个标签控件(它们的caption属性分别为:
分类号、书名、作者、出版社)、3个文本框控件(text1、text2、text3)、3个组合框控件(combo1、combo2、combo3)、5个命令按钮(cmd_find、cmd_cancel、command1、cmd_edit、cmd_del)、1个ado控件和1个DataGrid控件组成。
Ado控件与数据库的连接采用ODBC数据源,连接表“书”。
图7
图8
表6
属性
值
窗体的Caption
图书信息编辑
窗体的名称
frm_xxxg
4、设计“图书信息查询”窗体,图9所示,该窗体的属性设置如表7所示,本窗体由三个标签控件(它们的caption属性分别为:
分类号、书名、作者、出版社)、3个文本框控件(text1、text2、text3)、3个组合框控件(combo1、combo2、combo3)3个命令按钮(cmd_find、cmd_cancel、command1、cmd_edit、cmd_del)、1个ado控件和1个DataGrid控件组成。
Ado控件与数据库的连接采用ODBC数据源连接表“书”。
图9
表7
属性
值
窗体的Caption
图书信息查询
窗体的名称
frm_xxcx
5、设计“图书入库信息添加”窗体,如图10所示,该窗体的属性设置如表8所示,本窗体由6个标签控件(它们的caption属性分别为:
书名、图书编号、入库数量、入库时间、单价、操作者)、2个文本框控件(text2、text3)、3个组合框控件(combo1、combo2、combo3)、1个日历控件(DTPicker1)、4个命令按钮(cmd_addnew、cmd_cancel、cmd_save、cmd_exit)和2个ado控件和1个DataGrid控件组成。
Ado控件与数据库的连接采用ODBC数据源。
Adodc1控件连接表“图书入库”,adodc2控件连接表“书”。
窗体设计完成之后,将cmd_cancel、cmd_save按钮叠加在一起。
6、设计“图书入库信息查询添加”窗体,如图10所示,该窗体的属性设置如表9所示,本窗体由2个标签控件(它们的caption属性分别为:
入库时间、操作员)、1个文本框控件(text1)、1个组合框控件(combo1)、1个日历控件(DTPicker1)、3个命令
按钮(cmd_find、cmd_cancel、command1)、1个ado控件和1个DataGrid控件组成。
Ado控件与数据库的连接采用ODBC数据源,连接表“图书入库”。
图10
表8
属性
值
窗体的Caption
图书入库信息添加
窗体的名称
frm_rkxxtj
表9
属性
值
窗体的Caption
入库信息查询
窗体的名称
frm_rkxxcx
7、设计“登录”窗体,如图11所示,该窗体由两个标签控件(他们的caption属性分别为:
用户名、密码)、两个命令按钮(确定:
command1、退出:
command2)和一个ado控件组成。
Ado控件与数据库的连接采用数据源,连接“用户表”,该窗体的属性设置如表10所示。
表10
属性
值
窗体的Caption
登录入库信息查询
窗体的名称
f_load
图10
图11
五、编写代码
1、“登录”窗体f_load代码如下:
Dimi
DimpasswordAsString
‘确定按钮的单击事件
PrivateSubCommand1_Click()
Adodc1.Recordset.MoveFirst
If(Combo1.Text="")Then
MsgBox"请输入用户名",vbOKOnly,"提示"
Combo1.SetFocus
ExitSub
EndIf
If(Text1.Text="")Then
MsgBox"请输入密码",vbOKOnly,"提示"
Combo1.SetFocus
ExitSub
EndIf
password=Text1.Text
Adodc1.Recordset.Find"用户名称='"&Combo1.Text&"'"
If(Adodc1.Recordset.EOF)Then
MsgBox"对不起你输入的用户不存在",vbOKOnly,"提示"
Else
If(Adodc1.Recordset.Fields
(1)=password)Then
If(Adodc1.Recordset.Fields
(2))Then
frmMain.m_xxgl.Enabled=True
frmMain.m_rkxxgl.Enabled=False
EndIf
If(Adodc1.Recordset.Fields
(2))Then
frmMain.m_xxgl.Enabled=False
frmMain.m_rkxxgl.Enabled=True
EndIf
frmMain.Show
Else
MsgBox"对不起你输入的用户不存在",vbOKOnly,"提示"
EndIf
EndIf
EndSub
‘退出按钮的单击事件
PrivateSubCommand2_Click()
End
EndSub
‘窗体的加载事件
PrivateSubForm_Load()
Adodc1.Refresh
Combo1.Clear
Adodc1.Recordset.MoveFirst
WhileNotAdodc1.Recordset.EOF
Fori=0ToCombo1.ListCount-1
If(Combo1.List(i)=Adodc1.Recordset.Fields(0))Then
ExitFor
EndIf
Nexti
If(i=Combo1.ListCount)Then
Combo1.AddItemAdodc1.Recordset.Fields(0)
EndIf
Adodc1.Recordset.MoveNext
Wend
EndSub
2、主窗体frmMain的代码如下:
PrivateSubm_exit_Click()
End
EndSub
PrivateSubm_rkxxcx_Click()
frm_rkxxcx.Show
EndSub
PrivateSubm_rkxxlu_Click()
frm_rkxxtj.Show
EndSub
PrivateSubm_xxbj_Click()
frm_xxxg.Show
EndSub
PrivateSubm_xxcx_Click()
frm_xxcx.Show
EndSub
PrivateSubm_xxlr_Click()
f_xxtj.Show
EndSub
3、图书基本信息添加窗体f_xxtj代码如下:
Dima
Dimi
PrivateSubcmd_addnew_Click()
Text1.Enabled=True
Text2.Enabled=True
Text3.Enabled=True
Combo1.Enabled=True
Combo2.Enabled=True
Combo3.Enabled=True
Combo4.Enabled=True
Text1.SetFocus
cmd_save.Enabled=True
Adodc1.Refresh
Adodc1.Recordset.MoveFirst
WhileNotAdodc1.Recordset.EOF
If(Adodc1.Recordset.Fields
(1)<>"")Then
Fori=0ToCombo1.ListCount-1
If(Adodc1.Recordset.Fields
(1)=Combo1.List(i))Then
ExitFor
EndIf
Nexti
If(i=Combo1.ListCount)Then
Combo1.AddItemAdodc1.Recordset.Fields
(1)
EndIf
EndIf
If(Adodc1.Recordset.Fields
(2)<>"")Then
Fori=0ToCombo2.ListCount-1
If(Adodc1.Recordset.Fields
(2)=Combo2.List(i))Then
ExitFor
EndIf
Nexti
If(i=Combo2.ListCount)Then
Combo2.AddItemAdodc1.Recordset.Fields
(2)
EndIf
EndIf
If(Adodc1.Recordset.Fields(3)<>"")Then
Fori=0ToCombo3.ListCount-1
If(Adodc1.Recordset.Fields(3)=Combo3.List(i))Then
ExitFor
EndIf
Nexti
If(i=Combo3.ListCount)Then
Combo3.AddItemAdodc1.Recordset.Fields(3)
EndIf
EndIf
If(Adodc1.Recordset.Fields(5)<>"")Then
Fori=0ToCombo4.ListCount-1
If(Adodc1.Recordset.Fields(5)=Combo4.List(i))Then
ExitFor
EndIf
Nexti
If(i=Combo4.ListCount)Then
Combo4.AddItemAdodc1.Recordset.Fields(5)
EndIf
EndIf
Adodc1.Recordset.MoveNext
Wend
Text1.Text=""
Text2.Text=""
Text3.Text=""
Combo1.Text=""
Combo2.Text=""
Combo3.Text=""
Combo4.Text=""
Text1.SetFocus
cmd_addnew.Visible=False
cmd_cancel.Visible=True
EndSub
PrivateSubcmd_cancel_Click()
a=MsgBox("确定要取消添加记录操作吗?
",vbOKOnly,"提示")
If(a=1)Then
cmd_addnew.Visible=True
cmd_save.Enabled=False
cmd_cancel.Visible=False
Text1.Enabled=False
Text2.Enabled=False
Text3.Enabled=False
Combo1.Enabled=False
Combo2.Enabled=False
Combo3.Enabled=False
Combo4.Enabled=False
EndIf
EndSub
PrivateSubcmd_exit_Click()
UnloadMe
EndSub
PrivateSubcmd_save_Click()
If(Text1.Text="")Then
MsgBox"请输入图书的分类号",vbOKOnly,"提示"
Text1.SetFocus
ExitSub
EndIf
If(Text2.Text="")Then
MsgBox"请输入图书的价格",vbOKOnly,"提示"
Text2.SetFocus
ExitSub
EndIf
If(Text3.Text="")Then
MsgBox"请输入图书的书号",vbOKOnly,"提示"
Text3.SetFocus
ExitSub
EndIf
If(Combo1.Text="")Then
MsgBox"请输入图书的名称",vbOKOnly,"提示"
Combo1.SetFocus
ExitSub
EndIf
If(Combo2.Text="")Then
MsgBox"请输入图书的作者",vbOKOnly,"提示"
Combo2.SetFocus
ExitSub
EndIf
If(Combo3.Text="")Then
MsgBox"请输入图书的出版社",vbOKOnly,"提示"
Combo3.SetFocus
ExitSub
EndIf
If(Combo4.Text="")Then
MsgBox"请输入图书的版次",vbOKOnly,"提示"
Combo4.SetFocus
ExitSub
EndIf
Adodc1.Recordset.AddNew
Adodc1.Recordset(0)=Text1.Text
Adodc1.Recordset
(1)=Combo1.Text
Adodc1.Recordset
(2)=Combo2.Text
Adodc1.Recordset(3)=Combo3.Text
Adodc1.Recordset(5)=Combo4.Text
Adodc1.Recordset(4)=Text2.Text
Adodc1.Recordset(6)=Text3.Text
Adodc1.Recordset.UpdateBatchadAffectAllChapters
cmd_addnew.Visible=True
cmd_cancel.Visible=False
cmd_save.Enabled=False
Text1.Enabled=False
Text2.Enabled=False
Combo1.Enabled=False
Combo2.Enabled=False
Combo3.Enabled=False
Combo4.Enabled=False
Text1.Text=""
Text2.Text=""
Combo1.Text=""
Combo2.Text=""
Combo3.Text=""
Combo4.Text=""
EndSub
PrivateSubForm_Load()
Text1.Text=""
Text2.Text=""
Text3.Text=""
Combo1.Text=""
Combo2.Text=""
Combo3.Text=""
Combo4.Text=""
Text1.Enabled=False
Text2.Enabled=False
Text3.Enabled=False
Combo1.Enabled=False
Combo2.Enabled=False
Combo3.Enabled=False
Combo4.Enabled=False
cmd_addnew.Caption="添加"
cmd_save.Enabled=False
cmd_cancel.Visible=False
Adodc1.Refresh
Adodc1.Recordset.MoveFirst
WhileNotAdodc1.Recordset.EOF
If(Adodc1.Recordset.Fields
(1)<>"")Then
Fori=0ToCombo1.ListCount-1
If(Adodc1.Recordset.Fields
(1)=Combo1.List(i))Then
ExitFor
EndIf
Nexti
If(i=Combo1.ListCount)Then
Combo1.AddItemAdodc1.Recordset.Fields
(1)
EndIf
EndIf
If(Adodc1.Recordset.Fields
(2)<>"")Then
Fori=0ToCombo2.ListCount-1
If(Adodc1.Recordset.Fields
(2)=Combo2.List(i))Then
ExitFor
EndIf
Nexti
If(i=Combo2.ListCount)Then
Combo2.AddItemAdodc1.Recordset.Fields
(2)
EndIf
EndIf
If(Adodc1.Recordset.Fields(3)<>"")Then
Fori=0ToCombo3.ListCount-1
If(Adodc1.Recordset.Fields(3)=Combo3.List(i))Then
ExitFor
EndIf
Nexti
If(i=Combo3.ListCount)Then
Combo3.AddItemAdodc1.Recordset.Fields(3)
EndIf
EndIf
If(Adodc1.Recordset.Fields(5)<>"")Then
Fori=0ToCombo4.ListCount-1
If(Adodc1.Recordset.Fields(5)=Combo4.List(i))Then
ExitFor
EndIf
Nexti
If
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件开发工具与环境 软件 开发 工具 环境 实验 指导