资源描述
图书管理系统
设计阐明书
编写:
校对:
审核:
目录
1引言 1
2程序系统构造 2
3程序(标记符)设计阐明 2
4 还书模块 7
5 图书查询模块 11
6 系统操作模块 15
参照资料 36
1引言
1. 1目
依照《需求规格阐明书》、《概要设计阐明书》,在仔细考虑讨论之后,咱们对《图书管理系统》软件功能划分、数据构造、软件总体构造实既有了进一步想法。咱们将这些想法记录下来,作为详细设计阐明书,为进一步设计软件、编写代码打下基本。
1.2概述
随着社会信息量与日俱增,作为信息存储重要媒体之一图书,数量、规模比以往任何时候都大多,无论个人还是图书管理部门都需要使用以便而有效方式来管理自己书籍。在计算机日益普及今天,对个人而言若采用一套行之有效图书管理系统来管理自己书籍,会以便许多。对图书管理部门而言,此前单一手工检索已不能满足人们规定,为了便于图书资料管理需要有效图书管理软件。
本图书管理系统软件是一套功能比较完善数据管理软件,具备数据操作以便高效迅速等长处。该软件采用功能强大数据库软件开发工具进行开发,具备较好可移植性,可在应用范畴较广DOS、WINDOWS系列等操作系统上使用
1.3定义
文档中采用专门术语定义及缩略词简要如下:
LMS:Library Management System,图书管理系统
2程序系统构造
系 统 操 作 模 块
系统
设立
图书查询
更改
口令
系统操作
读者库
操作
数据
记录
读者查询
输
入
输
出
图书库
操作
数据
备份
数据
恢复
3程序(标记符)设计阐明
3.1主模块
初始化
图书查询模块
还书模块
借书模块
系统查询模块
l 功能
建立与数据库连接
获取系统设立
运营主对话框
依照输入调用子模块
退出系统时断开与数据库连接
l 输入项目
顾客鼠标点击输入
l 程序逻辑
见右图
l 存储分派
内部数据: 数据库连接 m_pConnection _ConnectionPtr 数据库连接指针
m_IsConnected BOOL 数据库连接批示
系统设立 m_MaxLBNum int 可借图书数上限
m_MaxLBDay int 借书天数上限
子对话框 m_BookOutDlg CBookOutDlg 借书对话框
m_BookInDlg CBookInDlg 还书对话框
m_BookQuiryDlg CBookQuiryDlg 图书查询对话框
m_SysDlg CSysDlg 系统操作对话框
l 测试要点
数据库连接状况:正常状况,数据库文献缺少,外部系统异常。
系统设立获取:正常状况,外部系统异常。
对顾客输入响应: 合法输入,可以正常调用子模块;
非法输入,系统能否辨别,并作出响应(提出警告);
子模块异常状况,系统能否及时做出响应。
3.2借书模块
l 功能
查验输入读者证号
运营借书对话框
获取该读者有关信息
查验输入图书号
登记借书
l 输入项目
读者证号、图书书号(顾客输入)
l 输出项目
读者信息(姓名);读者已借图书信息(书名、借书日期);
l 程序逻辑
对话框初始化
操作取消
输入不合理
点击返回
出错
输入读者证号
查 验
借书对话框
查验
借书登记
更新有关信息及显示
关闭对话框
l 接口
调用形式:void CBookDlg::LendBook(const _ConnectionPtr pConnection,
const int MaxLBNum)
传入参数:pConnection 数据库连接指针
MaxLBNum 系统参数(可借图书上限)
传出参数:无
l 存储分派
内部数据: 数据库 m_pConnection _ConnectionPtr 数据库连接指针
顾客界面 m_strReaderName CString 读者姓名
m_strLBInf CString 已借图书信息
m_strLBNum CString 已借图书数显示
m_lBookID long 欲借图书书号
内部参数 m_lReaderID long 当前读者证号
m_MaxLBNum int 可借图书数上限
l 测试要点
模块正常运营流程
顾客输入数据检查(读者证号、图书书号),涉及数据合理性检查,以及合法性检查
数据库操作
数据库连接异常时响应状况
3.2.1 读者查验模块
l 功能
查验输入读者证号与否合法(即与否存在与该读者证号相应读者记录)
l 输入项目
读者证号(整型常数),读者姓名(引用型字符串)
l 输出项目
查验成果(BOOL值)
l 程序逻辑
生成数据库查询语句
调用数据库查询模块
IF返回成果集为空(不存在该读者证号)
置读者姓名字符串为空
返回”非法读者证号”
ELSE
置读者姓名字符串
返回”合法读者证号”
l 接口
调用形式:BOOL CheckReader(const long ReaderID,CString &strReaderName)
传入参数:ReaderID(常量参数传入) 待查验读者证号
m_pConnection(借书模块内全局变量) 数据库连接指针
传出参数:读者证号存在/不存在标志(返回值)
strReaderName(传入引用参数) 读者证号相应读者姓名
(读者证号不存在时置为空)
l 存储分派
局部变量:数据库 pReader _RecordsetPtr 数据库查询成果集指针
查询参数 vtQuiry _variant_t 查询命令
vNull _variant_t 查询连接
类型转换 strQuiry Cstring 查询命令类型转换
vtemp _variant_t 查询成果类型转换
l 测试要点
数据库连接正常时
输入合理合法参数
输入参数不合理
输入参数不合法
数据库连接异常;数据库数据异常(读者姓名为空)
3.2.2 图书查验模块
l 功能
查验输入图书书号与否合法
l 输入项目
图书书号(整型常量)
l 输出项目
查验成果(BOOL值)
l 程序逻辑
生成数据库查询语句
调用数据库查询模块
IF返回成果集为空(不存在该图书书号)
返回”非法图书书号”
ELSE
返回”合法图书书号”
l 接口
调用形式: BOOL CheckBook(const long BookID)
传入参数: BookID(整型常量) 带查验图书书号
传出参数: 书号合法/不合法标志(返回值) 查验成果
l 存储分派
局部变量: 数据库 pBook _RecordsetPtr 数据库查询成果集指针
查询参量 vtQuiry _variant_t 查询字符串
vNull _variant_t 查询连接参量
类型转换 strQuiry Cstring 查询命令类型转换
l 测试要点
数据库连接正常
数据库数据正常
输入书号合理合法
输入书号不合理
输入书号不合法
数据库数据异常
数据库连接异常
3.2.3 有关信息获取模块
l 功能
获取合法读者借书记录
l 输入项目
合法读者证号(整型常量);读者已借图书信息(引用型字符串)
l 输出项目
查询操作成果(BOOL值)
l 程序逻辑
生成数据库查询语句
调用数据库查询模块
IF 操作成功
WHILE 查询成果集未读至文献尾
读取各项值
置入读者已借图书信息字符串
返回”操作成功”
ELSE
置空读者已借图书信息字符串
返回”操作失败”
l 接口
调用形式:BOOL GetLBInf(const long ReaderID,CString &strLBInf)
传入参量:ReaderID(整型常量) 查询参数
strLBInf(引用型字符串) 返回用格式化查询信息
传出参量:查询成功/失败标志(BOOL值) 查询操作成果信息
l 存储分派
局部变量: 数据库 pRecords _RecordsetPtr 数据库查询成果集指针
查询参数 vtQuiry _variant_t 查询命令字符串
vNull _variant_t 查询连接参量
类型转换 strQuiry CString 查询命令类型转换
l 测试要点
数据库连接正常
数据库数据正常
输入正常(读者证号合法)
输入异常(读者证号非法)
数据库数据异常
数据库连接异常
3.2.4 借书登记模块
l 功能
登录借书信息
l 输入项目
读者证号(整型常量);图书书号(整型常量)
l 输出项目
操作成果(BOOL值)
l 程序逻辑
生成数据库操作命令
调用数据库操作模块
IF 操作成功
返回”操作成功”
ELSE
返回”操作失败”
l 接口
调用形式:BOOL WriteBlrecord(const long ReaderID,const long BookID)
传入参数:ReaderID(整型常量) 操作参数(借阅者读者证号)
BookID(整型常量) 操作参数(借阅图书书号)
传出参数:操作成功/失败标志(返回值)
l 存储分派
局部变量: 操作命令参数 vRecsAffected _variant_t 操作影响
vtCommand _variant_t 操作命令
类型转换 strCommand CString 操作命令类型转换
strToday CString 借书日期类型转换
oleToday COleDateTime 借书日期
l 测试要点
数据库连接正常
数据库操作正常
输入参数合法
输入参数非法
数据库操作异常
数据库连接异常
4 还书模块
l 功能
运营还书对话框
查验输入图书书号
对合法输入登录还书信息
显示有关信息(本次还书操作信息,尚未归还图书有关信息,读者信息)
l 输入项目
图书书号(顾客输入)
l 输出项目
有关信息(本次还书操作信息,尚未归还图书信息,读者信息)
l 程序逻辑
点击退出
初始对话框
出错返回
借书记录查验模块
登记还书
更新还书信息及显示
关闭对话框
l 接口
调用形式:CBookInDlg::ReturnBook(const _ConnectionPtr pConnection,
const int MaxLBDay)
传入参量:pConnection(数据库连接指针常量) 提供数据库连接
MaxLBDay(整型常量) 系统参数(借书天数上限)
传出参量:无
l 存储分派
内部变量:数据库 m_pConnection _ConnectionPtr 数据库连接指针
m_pRecords _RecordsetPtr 数据库查询成果集指针
顾客界面 m_lBookID long 欲还图书书号
m_strLenderID CString 借阅者图书证号显示
m_strLender CString 借阅者姓名
m_strRBInf CString 已还图书信息显示
m_strNRBInf CString 未还图书信息显示
m_strRBNum CString 已还图书数显示
m_strNRBNum CString 未还图书数显示
内部参数 m_lCurrID long 当前还书者读者证号
m_intRBNum int 已还图书计数
m_MaxLBDay int 借书天数上限
l 测试要点
模块正常工作流程
对输入查验,涉及输入值合法性与合理性检查
数据库连接异常能否做出恰当解决
数据库数据异常时能否判断并予以恰当解决
4.1 借书记录查验模块
l 功能
查验借书记录与否存在(即与否存在与指定书号相相应借书记录)
l 输入项目
图书书号(传入参数)
l 输出项目
查验成果(返回值);查询成果集(图书书号、书名、状态、出借日期)
l 程序逻辑
生成数据库查询语句
调用数据库查询模块
IF 操作成功
IF查询成果集不为空(存在该借书记录)
返回”记录存在”
ELSE
警告”记录不存在”
ELSE
警告”查询失败”
返回”记录不存在”
l 接口
调用形式:BOOL CheckBlrcord(const long BookID)
传入参量:BookID(整型常量)
传出参量:书号合法/非法标志(BOOL型)
l 存储分派
局部变量: 查询参数 vtQuiry _variant_t 查询命令
vNull _variant_t 查询连接
类型转换 strQuiry CString 查询命令类型转换
引用全局变量:m_pConnection _ConnectionPtr 使用
m_pRecords _RecordsetPtr 写(打开)
l 测试要点
数据库连接正常
数据库数据正常
合法图书书号 返回“真”查验成果
不合法图书书号 返回“假”查验成果,给出警告提示
数据库数据异常 返回“假”查验成果,给出数据异常警告
数据库连接异常 返回“假”查验成果,给出数据库连接异常警告
4.2 有关信息获取模块
l 功能
获取指定读者(读者证号)借书记录,获取信息涉及所借图书书名,借书日期以及所借图书总本数。
l 输入项目
读者证号(传入参数);有关(借书)信息(公共变量)
l 输出项目
已借图书数(返回值)
l 程序逻辑
生成数据库查询命令
IF 操作成功
初始化(有关信息字符串置为空 已借图书计数置为0)
WHILE 未读至查询成果集尾
置有关信息字符串
计数累加
返回计数值
ELSE
置有关信息字符串为”操作异常”
返回”失败标志”(-1)
l 接口
调用形式:int GetLBInf(const long ReaderID)
传入参数:ReaderID(整型常量) 指定读者证号
传出参数:获取有关记录数(整型) 如发生异常,返回值置为负
l 存储分派
局部变量:查询参数 vtQuiry _variant_t 查询命令
vNull _variant_t 查询连接
类型转换 strQuiry CString 查询命令类型转换
vtemp _variant_t 查询成果类型转换
oleDate COleDateTime 借书时间类型转换
记录计数 count int 计算获取记录数
引用全局变量: m_pConnection _ConnectionPtr 使用
m_pRecords _RecordsetPtr 写(打开、关闭)
m_strNRBInf CString 写
l 测试要点
数据库连接正常
数据库数据正常
可获取借书记录数为零 返回成果为0,引用字符串置空
可获取借书记录数不为零 返回记录数,并将有关信息记录在引用字符串中
数据库数据异常 返回异常批示,给出警告
数据库连接异常 返回异常批示,给出警告
4.4 还书信息记录模块
l 功能
记录本次还书操作信息,涉及图书书名,超期天数。
l 输入项目
包括有关信息(书名、借书日期)查询成果集(公共变量)
l 输出项目
更新后格式化还书信息(公共变量)
l 程序逻辑
WHILE 传入查询成果集未读至文献尾
读取书名,置入还书信息字符串
读取借书日期
计算超期天数
置入还书信息字符串
光标移至下一种记录
l 接口
调用形式:void SaveRBInf(void)
传入参数:无
传出参数:无
l 存储分派
局部变量: 类型转换 vtemp _variant_t 查询成果类型转换
strExcess CString 超期天数类型转换
计算变量 oleDate COleDateTime 借书日期
oleExcess COleDateTimeSpan 超期天数
intExcess int 超期天数
引用全局变量:m_pRecords _RecordsetPtr 读(关闭记录集)
m_strRBInf CString 更新
m_MaxLBDay int 读
l 测试要点
查询成果集正常
查询成果集异常
4.5 还书登记模块
l 功能
登记还书(删除借书记录,更新图书状态)
l 输入项目
图书书号(输入参数)
l 输出项目
操作成功/失败标志(返回值)
l 程序逻辑
生成数据库操作命令(更新)
IF 操作成功
生成数据库操作命令(删除)
IF 操作成功
返回”操作成功”
返回”操作失败”
l 接口
调用形式:BOOL DelBlrecord(const long BookID)
传入参数:BookID(整型常量) 返还图书书号
传出参数:操作成功/失败标志(BOOL值)
l 存储分派
局部变量: 操作参数 vtCommand _variant_t 操作命令
vRecsAffected _variant_t 操作影响参数
类型转换 strCommand CString 操作命令类型转换
引用全局变量:m_pConnection _ConnectionPtr 使用
l 测试要点
数据库连接正常
图书书号合法
图书书号不合法
数据库连接异常
5 图书查询模块
l 功能
依照给定查询条件,查询数据库,获取图书信息
l 输入项目
查询方式指定以及查询核心字
l 输出项目
查询成果列表显示
初始化对话框
l 程序逻辑
查询
生成查询命令
查询数据库
显示成果列表
退 出
l 接口
调用形式:CBookQuiryDlg::QuiryBook(const _ConnectionPtr pConnection)
传入参数:pConnection(数据库连接指针)
传出参数:无
l 存储分派
内部变量:数据库 m_pBooks _RecordsetPtr 数据库查询成果集指针
顾客界面 m_strAuthor CString 作者核心字
m_bAuthor BOOL 作者查询选取状态
m_strBookName CString 书名核心字
m_bBookName BOOL 书名查询选取状态
m_strPublisher CString 出版社核心字
m_bPublisher BOOL 出版社查询选取状态
m_intYear1 int 出版时间核心字
m_intYear2 int 出版时间核心字
m_intMonth1 int 出版时间核心字
m_intMonth2 int 出版时间核心字
m_bPubTime BOOL 出版时间查询选取状态
m_intTimeType int 出版时间查询方式选取
局部变量:查询参数 vtQuiry _variant_t 查询命令
vNull _variant_t 查询连接
类型转换 strQuiry CString 查询命令类型转换
l 测试要点
数据库连接正常
数据库数据正常 获得对的查询成果并显示
数据库数据异常 给出警告
数据库连接异常 给出警告
5.1 查询命令生成模块
l 功能
依照顾客界面输入生成查询命令
l 输入项目
顾客界面输入值(公共变量)
l 输出项目
查询命令(返回值)
l 程序逻辑
读取各复选框值
IF 选中 AND 核心字不为空
生成查询条件
生成数据库查询命令
返回生成查询命令
l 接口
调用形式:CString GetQuiryString()
传入参数:无
传出参数:查询命令(CString)
l 存储分派
局部变量: strQuiry CString 查询命令字符串
strTemp CString 暂时字符串
l 测试要点
顾客输入合理
顾客输入不合理(没有指定查询方式,没有输入查询核心字)
5.2 数据库查询模块
l 功能
依照输入查询命令查询数据库
l 输入项目
查询命令(传入参数)
l 输出项目
数据库查询成果(返回值);数据库查询成果集(公共变量)
l 程序逻辑
查询数据库
IF 操作成功
返回”操作成功”
ELSE
返回”操作失败”
l 接口
调用形式:BOOL DBQuiry(const CString strQuiry)
传入参数:strQuiry(字符串型常量) 数据库查询命令
传出参数:查询操作成功/失败标志(BOOL值)
l 存储分派
局部变量:查询参数 vtQuiry _varaint_t 数据库查询命令
vRecsAffected _variant_t 数据库查询连接
引用全局变量:m_pConnection _ConnectionPtr 使用
m_pBooks _RecordsetPtr 读
l 测试要点
数据库连接正常
输入查询命令合法
获取非空查询成果集 返回“真”返回值,查询成果保存在查询成果集中
获取空查询成果集 返回“真”返回值,查询成果集为空
输入查询命令不合法 返回“假”返回值,查询成果集指针指向空,给出警告
数据库连接异常
5.3 数据显示模块
l 功能
按一定格式列表显示查询成果,并依照顾客规定重排列
l 输入项目
查询成果集(传入参数);输出项名称(传入参数);
查询成果表参数,涉及行数、列数(传入参数)
l 输出项目
顾客界面显示
l 程序逻辑
初始化(设立行数、列数、列名称,载入输入查询成果集内数据)
显示列表
WHILE 顾客未输入“返回”
IF 顾客拖动列标题栏
重新设立列位置
排序
刷新显示
返回
l 接口
调用形式:CListShowDlg::ShowList(const _RecordsetPtr pRecords,
CString *strArray,
const int cols,const int rows)
传入参数:pRecords (数据库查询成果集指针) 需要显示查询成果
strArray (字符串数组头指针) 显示项名称(列名)
cols (整型常量) 列表列数
rows (整型常量) 列表行数
传出参数:无
l 存储分派
内部数据:数据库 m_pRecords _RecordsetPtr 数据库查询成果集
内部参数 m_strArray CString[20] 列名存储数组
m_intCols int 列表列数
m_intRows int 列表行数
m_cltFGrid CMSFlexGrid 列表控件
m_iMouseCol int 顾客鼠标所在列
l 测试要点
查询成果正常
查询成果集为空 显示消息框提示
查询成果集不为空 正常显示成果列表,并依照顾客输入调节输出
查询成果异常 显示警告
6 系统操作模块
l 功能
验证输入系统操作员账号以及口令,完毕权限管理运营系统操作对话框,依照顾客输入调用各子模块,完毕:
图书库操作(浏览、修改、增长、删除);
读者库操作(浏览、修改、增长、删除);
数据记录;更改口令;系统管理(修改系统设立,浏览、修改、增长、删除系统操作员);
l 输入项目
数据库连接(传入参数)
l 输出项目
无
l 程序逻辑
初始化
规定输入账号口令
系统操作权限查验模块
初始化系统操作对话框
关闭对话框
返回
操作取消
UNTIL 输入”返回”
图书操作模块
读者操作模块
数据记录模块
系统设立模块
数据备份
数据恢复
更改口令
警告
返回
账号口令错误?
l 接口
调用形式:CSysDlg::ManageSys(const _ConnectionPtr pConnection)
传入参数:pConnection (数据库连接指针)
传出参数:无
l 存储分派
内部数据:数据库 m_pConnection _ConnectionPtr 数据库连接指针
子模块 m_BookDlg CBookDlg 图书库操作子模块
m_ReaderDlg CReaderDlg 读者库操作子模块
m_QuiryDlg CQuiryDlg 数据记录子模块
m_SysSettingDlg CSysSettingDlg 系统设立子模块
内部参数 m_strCurrUser CString 当前操作者账号
m_RightLevel int 操作权限
局部变量:输入 pwdDlg CPasswordDlg 账号口令输入对话框
l 测试要点
数据库连接正常 正常执行过程
输入账号口令合法 依照权限进行显示控制,正常调用各子模块
输入账号口令不合法 警告
数据库连接异常
6.1 系统操作权限查验模块
l 功能
查验输入系统操作员账号以及口令与否合法,并返回合法操作员权限级别
l 输入项目
系统操作员口令(传入参数)
l 输出项目
操作员权限级别(返回值)
l 程序逻辑
生成数据库查询命令
查询数据库
IF 操作成功
IF 查询成果集非空
返回权限级别
ELSE
显示警告”非法账号或口令”
返回 -1
ELSE
显示警告”不能查询数据库”
返回 -1
l 接口
调用形式:CheckRight(const CString oldPwd)
传入参数:oldPwd (字符串常量) 待查验系统操作员口令
传出参数:系统操作权限(整型,0-7) 如口令非法,置为-1
l 存储分派
局部变量:数据库 pTemp _RecordsetPtr 数据库查询成果集指针
查询参数 vNull _variant_t 数据库查询连接
vtQuiry _variant_t 数据库查询命令
类型转换 strQuiry CString 查询命令类型转换
内部参数 result int 权限级别
引用全局变量:m_pConnection _ConnectionPtr 数据库连接指针
m_strCurrUser CString 当前操作员账号
l 测试要点
数据库连接正常
数据库数据正常
合法账号口令 获取相应权限级别
非法账号口令 返回错误批示,给出警告
数据库数据异常
数据库连接异常
6.2 图书库操作模块
l 功能
依照输入提供对图书库浏览、数据修改、增长、删除记录等操作
增长记录时,提供对生成图书书号唯一性验证
删除记录时,提供对所删除记录有关性检查
l 输入项目
数据库连接(传入参数)
l 输出项目
无
l 程序逻辑
初始化(获取数据库连接,显示对话框)
WHILE 顾客未输入退出
IF 顾客输入”下一种”
更新当前记录
移动至下一种记录
刷新显示
IF 顾客输入”上一种”
更新当前记录
移动至上一种记录
刷新显示
IF 顾客输入”移动到”
更新当前记录
规定输入图书书号
IF 该书号存在
移动到指定记录
刷新显示
ELSE
显示警告”该图书书号不存在”
IF 顾客输入”加入”
更新当前记录
规定输入图书书号
IF 该书号已存在
显示警告”该书号已存在”
ELSE
插入指定图书书号新记录
记录总数加一
光标移动至新记录处
IF 顾客输入”删除”
更新当前记录
给出警告”拟定继续”
IF 顾客确认继续
IF 该图书借出
给出警告”删除有关借书记录”
IF 顾客确认
删除有关借书记录
ELSE
中断操作
删除该图书记录
记录总数减一
IF 最后一条记录被删除
移动至前一条记录
ELSE
移动至下一条记录
显示刷新
更新记录
l 接口
调用形式:CBookDlg::ManageBooks(const _ConnectionPtr pConnection)
传入参数:pConnection(数据库连接指针)
传出参数:无
l 存储分派
内部数据:数据库 m_pConnection _ConnectionPtr 数据库连接指针
m_pRs _RecordsetPtr 数据库查询成果集指针
顾客界面 m_lBookID long 当前记录中书号项
m_strAuthor CString 当前记录中作者项
m_strBookName CString 当前记录中书名项
m_strPublisher CString 当前记录中出版社项
m_uPublishYear UINT 当前记录中出版年项
m_uPublishMonth UINT 当前记录中出版月项
m_intStatus int 当前记录中状态项
m_fBookPrice float 当前记录中单价项
m_strCurrentBook CString 当前记录位置显示
m_strTotalBook CString 记录总数显示
内部参数 m_intPosition int 当前记录位置计数
m_lRecordCount long 记录总数计数
l 测试要点
数据库连接正常
记录集为空 与否工作状态正常
记录集非空 对各种顾客输入响应
数据库连接异常
6.2.1 获取图书记录集模块
l 功能
获取所有图书记录,置记录总数以及当前位置初始值
l 输入项目
操作成功/失败标志(返回值)
l 输出项目
图书记录集(公共变量);记录总数(公共变量);当前位置(公共变量)
l 程序逻辑
生成数据库查询命令
查询数据库
IF 操作成功
返回”成功”
ELSE
返回”失败”
l 接口
调用形式:BOOL OpenRecords()
传入参数:无
传出参数:操作成功/失败标志(BOOL值)
引用全局变量: m_pRs _RecordsetPtr 写(打开)
m_intPosition int 写
m_lRecordCount long 写
l 存储分派
局部变量:查询参数 vNull _variant_t 查询连接
vtQuiry _variant_t 查询命令
类型转换 strQuiry CString 查询命令类型转换
l 测试要点
数据库连接正常
图书记录集为空
图书记录集非空
数据库连接异常
6.2.2 更新显示模块
l 功能
更显当前显示
l 输入项目
图书记录集(公共变量);顾客界面显示字符串(公共变量)
l 输出项目
更新后顾客界面显示字符串(公共变量)
l 程序逻辑
逐项读取记录中数据域置入显示字符串中
IF 当前记录为第一条
禁止”前一种”按钮
IF 当前记录为最后一条
禁止”后一种”按钮
IF 记录总数为0
禁止”加入”以外所有按钮
刷新显示界面
l 接口
调用形式:void RefreshDataView()
传入参数:无
传出参数:无
引用全局变量: m_pRs _RecordsetPtr 读
m_lBookID long 写
m_strAuthor CString 写
m_strBookName CString 写
m_strPublisher CString 写
m_uPublishYear UINT 写
m_uPublishMonth UINT 写
m_intStatus int 写
m_fBookPrice float 写
m_strCurrentBook CString 写
m_strTotalBook CString 写
l 存储分派
局部变量:类型转换 vtemp _variant_t 记录集数据域类型转换
l 测试要点
记录集正常
记录集为空
记录集非空
记录集异常
6.2.3 更新当前记录模块
l 功能
依照顾客界面输入更新当前记录
l 输入项目
顾客界面输入,即顾客界面各显示变量值(公共变量)
l 输出项目
数据库中更新后图书记录(存储文献);操作成功/失败标志(返回值)
l 程序逻辑
保存当前图书书号
读入界面值
展开阅读全文