软件工程课程设计任务书——图书管理系统(4)
时间:2026-01-17
时间:2026-01-17
软件工程课程设计——
READER表是图书馆读者表,包含读者全部信息;BOOK表是图书馆图书信息表,包含图书馆全部图书信息;BORROW表是读者借阅情况表,包含所有借阅信息;HISTORY表是历史借阅表,包含借阅和归还日期等所有历史借阅信息;CLERK表是管理员账号信息表,记录登录信息;表中有各自相应的描述属性。
5.2.2界面详细设计
界面是通过MFC编写的,界面操作的数据流如下图所示:
软件工程课程设计——
界面通过数据库的登录信息表(CLERK表)登录到主界面,然后可在主界面对不同的表进行操作来管理操作图书信息、读者信息、借阅信息、图书归还信息。 详细的界面如下
:
管理员登录界面
查询CLERK表,表中有记录才能可以登录。 主界面如下图
主管理界面
通过7个按钮控件进入不同的对话框,旁边有相应的注释信息。
软件工程课程设计——
新书登记界面
图书查询界面
图书借阅
软件工程课程设计——
还书界面
对BOOK表进行查询、登记、借阅、归还操作。
读者登记
读者信息查询
软件工程课程设计——
读者信息删除
对READER表进行增加、删除、查询操作。
罚款设置
设置图书借阅的最长时间限制,对超出时间的进行罚款
5.2.3部分后台代码实现举例
A、登录信息的实现:
UpdateData(TRUE); if (m_strName.IsEmpty()) /*判断用户名信息是否为空*/ { AfxMessageBox("请输入用户名!"); return; } mSqlStr = "SELECT * FROM CLERK WHERE NAME='"; mSqlStr = mSqlStr + m_strName; mSqlStr = mSqlStr + "' AND PASSWORD='"; mSqlStr = mSqlStr + m_strPassword; mSqlStr = mSqlStr + "'";
软件工程课程设计——
{ AfxMessageBox("CLERK表打开失败!"); return; }
if (!mrsDataSet.IsEOF()) { // Open all function for user CDialog::OnOK(); } else { AfxMessageBox("密码错误,请重新输入!"); return; }
通过这条语句mSqlStr = "SELECT * FROM CLERK WHERE NAME='m_strName'AND PASSWORD= 'm_strPassword'";查询CLERK表(管理员登录表)信息,实现用户登录。 B、图书查询代码实现:
UpdateData(TRUE); if (m_strBookIDQ.IsEmpty() && m_strBookNameQ.IsEmpty()) { m_rsDataSet.m_strFilter = ""; m_rsDataSet.Requery(); DisplayRecord(); SetButtonState(); AfxMessageBox("请输入相关的查询信息!"); return; } BOOL mAll = FALSE; if (!m_strBookIDQ.IsEmpty()) { m_rsDataSet.m_strFilter = "BOOK_ID='" + m_strBookIDQ ; m_rsDataSet.m_strFilter = m_rsDataSet.m_strFilter + "'"; mAll = TRUE; } if (!m_strBookNameQ.IsEmpty()) { if (mAll) { m_rsDataSet.m_strFilter = m_rsDataSet.m_strFilter + " AND BOOK_NAME='";
下一篇:第1章 网页制作基础