实验图书管理系统Word格式.docx
- 文档编号:7924775
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:35
- 大小:181.58KB
实验图书管理系统Word格式.docx
《实验图书管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《实验图书管理系统Word格式.docx(35页珍藏版)》请在冰点文库上搜索。
字数(千字)
Integer
PublisherID
出版社ID
4
Number
印刷册数
Price
定价
Money
Keyword
关键字
Abstract
摘要
Varchar
400
表2certificateinfo
Cert_id
借书证书ID
5
Cert_name
证件名称
10
Yes
Cert_value
证件号码
18
Name
姓名
Depart
所在部门
20
flag
标记
Tinyint
表3LOAN
表4SET
1.创建菜单
创建一个菜单,菜单名为caidan,所有窗口在菜单中实现。
2.创建窗口对象
登陆界面
(1)主界面:
创建一个新的弹出式窗口对象,Title为“图书管理系统”关联菜单“caidan”
界面如下:
(2)图书管理:
a.新书录入界面:
创建一个新的弹出式窗口对象,
(1)布置窗口中的静态文本控件
窗口中只有一个标题使用静态文本控件,在窗口控件下拉列表工具栏图标中选择静态文本控件,然后在窗口上单击,生成静态文本控件。
在Text属性栏中输入“新书录入”。
(2)布置窗口中的单行编辑框控件
在窗口控件下拉列表工具栏图标中选择单行编辑框控件,然后在窗口上单击,生成单行编辑框控件。
使用Ctrl和T组合键进行外观复制生成5个单行编辑框。
单行编辑框的名称
控件名称
说明字段
Sle_bookid
Sle_isbn
Sle_publish
Sle_author
Sle_words
字数
Sle_publisberid
Sle_number
Sle_price
Sle_keyword
Sle_abstract
(3)布置窗口中的多行编辑框控件
在窗口控件下拉列表工具栏图标中选择多行编辑框控件,然后在窗口上单击,生成多行编辑框控件。
其名称Name为“dw_abstract”,选中Hscrollbar和Vscrollbar。
多行编辑框控件用于输入摘要。
(4)布置窗口中的“确定”按钮控件
在窗口控件下拉列表工具栏图标中选择命令按钮控件,然后在窗口上单击,生成命令按钮控件。
窗口中共有两个命令按钮控件,设置一个按钮的Text属性为“确定”,名称为cb_ok.选中default属性。
“确定”按钮的Clicked事件脚本为;
stringstr_BookId,str_ISBN,str_Title,str_Author,str_PublisherID,str_Keyword,str_Abstract
longI_Words,I_price,i,I_Number,Flag1
datestr_Publish
ifsle_bookid.text="
"
thenreturnmessagebox("
缺少数据"
"
请输入图书编号"
)
str_BookId=trim(sle_bookid.text)
str_ISBN=trim(sle_isbn.text)
str_Title=trim(sle_title.text)
str_Publish=date(sle_publish.text)
str_Author=trim(sle_author.text)
str_PublisherID=trim(sle_publisherid.text)
I_Number=long(sle_number.text)
str_Keyword=trim(sle_keyword.text)
str_Abstract=trim(mle_abstract.text)
I_Words=long(sle_words.text)
I_Price=long(sle_price.text)
Flag1=0
selectBookID
into:
i
fromBookInfo
whereBookID=:
str_BookId;
ifi<
>
0thenmessagebox("
书号重复"
书号重复,请重新输入!
)
INSERTINTO"
BookInfo"
("
BookID"
"
ISBN"
Title"
Publish"
Author"
Words"
PublisherID"
Number"
Keyword"
Abstract"
Price"
Flag"
VALUES
(:
str_BookId,
:
str_ISBN,
str_Title,
str_Publish,
str_Author,
I_Words,
str_PublisherID,
I_Number,
str_Keyword,
str_Abstract,
I_Price,
Flag1);
sle_bookid.text="
sle_isbn.text="
sle_title.text="
sle_publish.text="
sle_author.text="
sle_publisherid.text="
sle_number.text="
sle_keyword.text="
mle_abstract.text="
sle_words.text="
sle_price.text="
sle_bookid.setfocus()
(3)关联新书录入窗口m到菜单中
打开创建主菜单选择新书录入菜单,添加事件的脚本为:
open(m)
(4)具体界面如下:
b.旧书销毁界面:
创建一个新的弹出式窗口对象
在Text属性栏中输入“旧书销毁”。
(2)按书号检索
按书号查询的数据窗口对象是一个条件查询的数据窗口,其设计步骤为:
l)单击New图标按钮,弹出“New”对话框;
2)选择DataWindow选项页,双击FreeForm图标,弹出“ChooseDataSourceforFreeFormDataWindow”对话框;
3)选择“SQLSelect”数据源方式,单击“Next”按钮,弹出“SelectTable”对话框;
4)在Table列表框中选择student表,单击“Open”按钮,这时弹出Select画板;
5)单击菜单Design∣RetrievalArguments…弹出SpecifyRetrievalArguments”对话框,在Name栏中输入ls_name,在Type下拉列表框中选择String,单击“OK”按钮,对话框关闭:
6)在Select画板的TableLayout子窗口中的表框中列出了student表的全部字段的名称,每单击一个字段,该字段就变为蓝底白字,表示选中,同时,会在上面的“SelectionList:
”区域中排列出该宇段。
如果单击选中的字段,就会变为不被选中,该字段从上面的排列中消失。
单击每一个字段,将全部字段选中;
7)在Select画板的Where子窗口中单击Colunm栏,右边出现一个“▼”符号,单击“▼”按钮,弹出student表的所有字段,选择“student”.“name”,在右边的Value栏中,单击右键,选择弹出菜单中的“Arguments...”,弹出一个小窗口,内部有刚才定义的变量“:
Is_name”,单击选中它,单击“Paste”按钮,“:
ls_name”就出现在Value栏中。
8)单击“Return”图标按钮,弹出“SelectColorlBorderSettings”对话枢,单击“Next”按钮,弹出“ReadytoCreateFreeFormDataWindow”对话框。
,该对话框对数据窗口对象的主要属性进行了小结。
单击“Finish”按钮,弹出“SpecifyRetrievalArguments”对话框,要求对检索变量ls_name进行赋值,以便对数据库进行数据检索,并将检索结果放到Preview子窗口中。
可以在Value栏中输人一个姓名后按“OK”键进行检索,也可以按“Cancel”键不进行检索,然后进入数据窗口对象画板。
9)在数据窗口对象画板中,将字段名称改为中文,调整字段的位置和大小,设置文字颜色、背景颜色和字段边框;
10)选择菜单Edit∣Select∣SelectColunms,将所有字段全部选中,然后在Properties属性卡中选择Edit页,选中“DisplayOnly”复选框,不选中“AutoSelection”复选框;
11)保存数据窗口对象名称为d1。
(4)编写脚本:
在“查询”按钮的Clicked事件脚本为;
stringstr_bookid
str_bookid=trim(sle_bookid.text)
ifnotstr_bookid="
then
dw_bookid.retrieve(str_bookid)
else
MessageBOX("
数据不全"
请输入待删除的书名。
endif
sle_bookid.setFocus()
在“确定销毁”按钮的Clicked事件脚本为;
longi
delete
from"
whereBookID=:
str_bookid;
dw_bookid.retrieve(str_bookid)
selectBookID
into:
ifi=0thenmessagebox("
提示"
string(str_bookid)+"
的信息已经不存在"
sle_bookid.text="
(5)关联新书录入窗口n到菜单中
打开创建主菜单选择旧书销毁菜单中,添加事件的脚本为:
open(n)
(6)具体界面如下:
(4)图书查询:
图书查询包括两个查询:
按书名查询,按日期查询。
(这里只写按书名查询详细步骤,按日期查询和按书名查询功能一样,略之)
1)设计步骤如下:
创建一个新的弹出式窗口对象。
数据窗口对象选择Grid风格。
增加一个检索参数RetrievalArgument为ls_author,在Select画板的Where子窗口中设计的条件为:
bookinfo"
."
author"
like:
ls_author
保存数据窗口对象
(2)布置一个静态文本控件,其Text为“按书名查询”,一个单行编辑框,为Name为“sle_author”;
一个命令按钮,Text属性为“查询”,选中“Default”复选框;
还有一个数据窗口控件,其Name为dw_author”;
DataObject为d5,选中HScrollBar和VScrollBar复选框。
保存所做的工作。
(3)编写脚本:
在“确定”按钮的Clicked事件脚本为;
stringstr_title
str_title=trim(sle_title.text)
ifnotstr_title="
dw_title.retrieve(str_title)
请输入书名(可以不全)!
sle_title.setFocus()
在a窗口的Open事件中,再增加数据窗口dw_author使用数据库的事物对象和初始化的代码:
dw_author.SetTransObject(SQLCA)
(4)关联新书录入窗口m到菜单中
打开创建主菜单选择按作者查询菜单,添加事件的脚本为:
open(a)
两个界面如下:
按书名查询
按日期查询
(5)证件管理:
a.办新证件
创建一个新的弹出式窗口对象,窗口名“student”。
在Text属性栏中输入“办新证件”。
2)布置窗口中的单行编辑框控件
在窗口控件下拉列表工具栏图标中选择单行编辑框控件,然后在窗口上单击,生成单行编辑框控件。
Sle_cert_id
借书证ID
Sle_cert_value
Sle_departy
(3)布置窗口中的单选钮和组合框控件
窗口中共有两组单选钮,一组为性别选择,另一组为党团员选择。
性别选择单选钮的设计方法为:
在窗口控件下拉列表工具栏图标中选择组合框控件,然后在窗口上单击,生成组合框控件、再选择单选钮控件,在组合框中单击,生成单选钮控件。
设置其名称为rb_zero,Text为“0”,选中Checked属性;
同样再在组合框中放置一个单选钮控件,设置其名称为rb_first,Text为“1”,不选中Checked属性;
rb_two,Text为“2”,不选中Checked属性。
(说明:
标记中的0是合法用户能借阅书籍,1是该证已挂失,2是该用户已经在黑名单里。
(4)布置窗口中的下拉列表框控件
在窗口控件下拉列表工具栏图标中选择下拉列表框控件,然后在窗口上单击,生成下拉列表框控件。
输入下拉列表框控件名称为ddlb_cert_name,不选中Sorted属性,选中Vscrollbar属性。
单击下拉列表框控件后拖动下边框,调整下拉列表框展开后的长度。
同样输入下拉列表框控件名称为ddlb_departy,不选中Sorted属性,选中Vscrollbar属性。
单击下拉列表框控件后拖动下边框。
(5)布置窗口中的命令按钮控件
窗口中共有两个命令按钮控件,设置一个按钮的Text属性为“提交”,名称为cb_ok.选中default属性;
设置一个按钮的Text属件为“退出”,名称为cb_exit,选中Cancel属性。
(6)编写脚本:
单击选中证件名称下拉列表框控件,选择右键弹出菜单中的Script菜单项,进人SCript子窗口,选择事件下拉列表框中的Constructor事件,输人以下脚本:
this.additem("
教师"
this.additem("
学生"
同时在所在部门下拉列表框控件,选择右键弹出菜单中的Script菜单项,进人SCript子窗口,选择事件下拉列表框中的Constructor事件,输人以下脚本:
计算机科学系"
英语系"
工商管理系"
经济系"
信息管理系"
艺术系"
机械系"
建筑系"
stringID,depart,name,Cname,Cvalue,Ctype,flag
inti
ID=trim(sle_cert_id.text)
selectCert_id
i
fromCertificateInfo
whereCert_id=:
ID;
ifi<
0then
messagebox("
重复"
借书证ID重复,请重新输入!
sle_cert_id.text="
sle_cert_id.setfocus()
return
endif
ifsle_cert_id.text="
then
请输入借书证ID"
return
elseifsle_name.text="
请输入姓名"
sle_name.setfocus()
ifsle_cert_value.text="
then
请输入证件号"
elseifsle_depart.text="
请输入系别或部门"
ifddlb_cert_type.text="
messagebox("
请选择借书证类型"
return
elseifddlb_cert_name.text="
请输入证件名称"
name=trim(sle_name.text)
Cvalue=trim(sle_cert_value.text)
Cname=trim(ddlb_cert_name.text)
depart=trim(sle_depart.text)
Ctype=trim(ddlb_cert_type.text)
flag="
0"
;
insertinto"
CertificateInfo"
("
Cert_id"
Name"
Cert_name"
Cert_value"
Depart"
Cert_type"
flag"
values
(:
ID,
name,
Cname,
Cvalue,
depart,
Ctype,
);
sle_cert_id.text="
sle_name.text="
ddlb_cert_name.text="
sle_cert_value.text="
sle_depart.text="
ddlb_cert_type.text="
sle_cert_id.setfocus()
在“退出”按钮的Clicked事件脚本为;
close(book_jszzhuce)
(7)关联新书录入窗口student到菜单中
打开创建主菜单到办新证件菜单中,添加事件的脚本为:
open(student)
(8)具体界面如下:
b.证件管理
创建一个新的弹出式窗口对象,窗口名“lose”。
设计步骤如下:
1)首先按借书证ID进行检索,显示出这个人的证件信息,之后设置四个按钮:
确定、挂失、解锁、销毁,之后在每个按钮里输入脚本。
2)编写脚本:
stringID
ID=trim(sle_ID.text)
ifnotsle_ID.text="
dw_ID.retrieve(ID)
else
错误"
请输入借书证号"
在“挂失”按钮的Clicked事件脚本为;
update"
set"
=1
where"
=:
ID;
else
在“解锁”按钮的Clicked事件脚本为;
=0
在“销毁”按钮的Clicked事件脚本为;
在lose窗口的Open事件中,再增加数据窗口dw_cert_id
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 图书 管理 系统