2021-06-01

http://blog.qmgua.com/

一.课程设计的背景:
随着科学技术的不断提高,计算机科学日渐成熟,它已进入人类社会的各个领域并发挥着越来越重要的作用,作为计算机应用的一部分,使用计算机对图书信息进行管理,具有手工管理所无法比拟的优点,如检索迅速、查找方便、易修改、可靠性高、存储量大、出具处理快捷、便于打印等,因此图书管理系统是图书馆管理工作中不可缺少的部分,可以为管理者或者读者提供充足的信息和快捷的数据处理手段。该图书管理系统是采用Microsoft visual studio开发软件, 利用C++语言开发的一个数据库管理系统。开发本系统的基本步骤为:问题定义、可行性研究、需求分析、总体设计、详细设计、软件测试。在系统分析中先后用到系统流程图、数据流图、数据字典、状态转换图、规格说明书、层次图、结构图和程序流程图。在数据库的数据表的设计当中, 力求设计简单实用。在系统具体实行阶段中,尽量使得窗机简洁美观。
二.系统目标
图书管理信息系统实现的总目标,是使图书馆的信息管理工作系统化、规范化、自动化,从而达到提高企业人事管理效率的目的。要求实现如下目标:
(1)数据输人部分 包括图书基本信息的录人、借阅人基本信息的录人、用户基本信息的录人。
(2)数据输出部分 主要是各种统计查询,如根据图书信息(书名、作者、出版社等)查阅图书及其借阅信息、统计输出图书类型比例等。
(3)数据处理部分 主要包括借阅和归还的处理,如一本书借出后,必须在数据库中将该书标记为已借出,以防出现数据库中有书但图书馆无书的情况。—本书归还后,同样必须在数据库中将其标记为已经归还,以便再次借出。

  1. 界面简洁美观
  2. 使用SQL server数据库
  3. 使用C++语言
  4. 软件支持完整的业务流程
  5. 提供一定的统计分析功能
    三.实验内容
    根据以上实现目标,图书管理系统的主要功能包括:
    (1)读者种类的定义、更新、查询 主要实现读者种类标准的制定,如种类编号、种类名称、借书数量、借书期限、有效期限、备注等。
    (2)读者基本信息的输人、查询、更新 包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、登记日期、备注等。
    (3)书籍类别的定义、更新、查询 主要实现书籍类别标准的制定,如类別编号、类别名称、关键词、备注信息等。
    (4)书籍信息的输入、查询、更新 包括书籍編号、书籍名称、书籍类別、作者姓名、出版社名称、出版日期、价格、书籍页码、关键词、登记日期、是否被借出、备注信息等。
    (5)旧书销毁 对于淘汰、损坏、丢失的书目可及时对数据库进行修改。
    (6)借还书信息的输入、查询、更新 包括借阅编号、读者编号、书籍编号、出借日期、还书日期、备注信息等。
    (7)方便、灵活的查询 如以书名、作者、出版社、出版时间(确定的时间或时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况,以借阅人编号对借阅人信息进行检索,以出版社名称查询出版社联系方式信息等。
    (8)统计分析功能 可以展现出图书类型比例、库存与借出比例等统计信息。
    四、总体设计:
    4.1基本功能图:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    5.1.2 建立图书信息表:
    CREATE TABLE Book
    ( Bno CHAR(8) PRIMARY KEY NOT NULL,
    Category VARCHAR(10),
    Title VARCHAR(40) NOT NULL,
    Press VARCHAR(30) NOT NULL,
    Book_year INT NOT NULL,
    Author VARCHAR(20),
    Price DECIMAL(7,2) NOT NULL,
    Book_total INT NOT NULL)
    INSERT INTO Book (bno,category,title,press,book_year,author,price,book_total)VALUES
    (110,‘教材’,‘C++数据结构与算法’,‘清华大学出版社’,2015,‘谭浩强’,99,3),
    (100,‘教材’,‘数据库原理与运用’,‘机械工业出版社’,2016,‘蔡延光’,38,10),
    (101,‘教材’,‘信号与系统’,‘清华大学出版社’,2017,‘陈后金’,62,20),
    (102,‘教材’,‘数字电子技术基础’,‘高等教育出版社’,2016,‘阎石’,54,30),
    (103,‘教材’,‘java 程序设计’,‘清华大学出版社’,2018,‘尚学堂’,89,40),
    (109,‘小说’,‘恶意’,‘文化出版社’,2017,‘东野圭吾’,32,50)

在这里插入图片描述
5.1.1.2 建立用户表:
CREATE TABLE User1
( Uno VARCHAR(10) PRIMARY KEY NOT NULL,
Uname CHAR(8) NOT NULL,
Utelephone VARCHAR(20) NOT NULL,
Upassword VARCHAR(10) NOT NULL,
Total INT NOT NULL CHECK (Total between 0 and 3) DEFAULT 0 ,
Usex VARCHAR(3) NOT NULL CHECK (Usex = ‘男’ or Usex = ‘女’))
INSERT INTO User1 (Uno,Uname,Utelephone,Upassword,Total,Usex)VALUES
(0001,‘均均’,‘123’,‘10086’,‘2’,‘女’),
(0002,‘森森’,‘137’,‘10023’,‘3’,‘男’),
(0003,‘口嗨柏’,‘138’,‘10045’,‘3’,‘男’)
在这里插入图片描述
5.1.1.3.建立管理员表:
CREATE TABLE Admin
( Ano CHAR(8) PRIMARY KEY NOT NULL,
Aname CHAR(8) NOT NULL,
Apassword VARCHAR(10) NOT NULL,
Asex VARCHAR(3) NOT NULL CHECK(Asex=‘男’ or Asex = ‘女’),
Atelephone VARCHAR(20) NOT NULL)
INSERT INTO Admin (Ano,Aname,Apassword,Asex,Atelephone)VALUES
(01,‘江增森’,‘3119001595’,‘男’,‘135’),
(02,‘陈佳渝’,‘3119001586’,‘男’,‘136’)
在这里插入图片描述
5.1.1.4.借阅记录表:
CREATE TABLE Borrow
( Uno VARCHAR(10) FOREIGN KEY(Uno) REFERENCES User1(Uno) NOT NULL,
Bno1 INT PRIMARY KEY NOT NULL,
Bno CHAR(8) FOREIGN KEY(Bno) REFERENCES Book(Bno) NOT NULL,
Uname CHAR(8) NOT NULL,
Borrow_date SMALLDATETIME NOT NULL,
Return_date SMALLDATETIME,
Condition VARCHAR(5) NOT NULL CHECK(Condition=‘已还’ or Condition = ‘未还’),
Title VARCHAR(40) NOT NULL)
INSERT INTO Borrow (Uno,Bno1,Bno,Uname,Borrow_date,Return_date,Condition,Title)VALUES
(0002,00005,102,‘森森’,‘2021-5-27 19:04:00’,NULL,‘未还’,‘数字电子技术基础’),
(0001,00004,102,‘均均’,‘2021-5-27 19:00:00’,NULL,‘未还’,‘数字电子技术基础’),12
(0001,00001,101,‘均均’,‘2020-12-21 10:33:45’,‘2021-5-11 10:33:45’,‘已还’,‘信号与系统’),
(0002,00003,101,‘森森’,‘2020-11-21 10:33:35’,‘2021-4-21 10:33:35’,‘已还’,‘信号与系统’)

在这里插入图片描述
5.1.1.5.修改记录表:
CREATE TABLE Record
( Rno INT PRIMARY KEY NOT NULL,
Ano CHAR(8) FOREIGN KEY(Ano) REFERENCES Admin(Ano) NOT NULL,
Aname CHAR(8) NOT NULL,
Title VARCHAR(40) NOT NULL,
Quantity INT NOT NULL,
Alter_date SMALLDATETIME NOT NULL,
Alter_condition VARCHAR(5) NOT NULL CHECK(Alter_condition=‘增添’ or Alter_condition = ‘删除’or
Alter_condition = ‘修改’))
INSERT INTO Record (Rno,Ano,Aname,Title,Quantity,Alter_date,Alter_condition)VALUES
(100001,01,‘江增森’,‘数据库原理与运用’,‘2’,‘2021-4-21 12:23:34’,‘增添’)
(100002,02,‘陈佳渝’,‘信号与系统’,‘1’,‘2020-6-18 12:12:34’,‘删除’)
在这里插入图片描述
5.1.1.6.图书类型表:
CREATE TABLE Booktype
(Book_category VARCHAR(10) PRIMARY KEY NOT NULL,
Describe VARCHAR(400))
INSERT INTO Booktype (Book_category,Describe)VALUES
(‘小说’,‘以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁’),
(‘散文’,‘诗歌、小说、戏剧以外的所有具有文学性的散行文章’)
在这里插入图片描述
在这里插入图片描述
5.2.2 各个基本功能::
1.登陆模块:
(1)为登录界面窗体创建类,并在该类中添加如下控制代码。14
BOOL C 图书管理系统 Dlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// 将“关于…”菜单项添加到系统菜单中。
// IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
BOOL bNameValid;
CString strAboutMenu;
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
m_db.Open(_T(“LDSN”));
m_admin.m_pDatabase=&m_db;
m_user.m_pDatabase=&m_db;15
//设置可选编辑框属性,默认属性为用户
m_id.InsertString(0,_T(“用户”));
m_id.InsertString(1,_T(“管理员”));
m_id.SetCurSel(0);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
void C 图书管理系统 Dlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
//点击登录按钮响应事件
CString str;
//strCBText 负责存储 m_id 控件信息
int nIndex = m_id.GetCurSel();
CString strCBText;
m_id.GetLBText(nIndex,strCBText);
//同步账号、密码栏信息到变量中
UpdateData(TRUE);
//如果身份选项为用户的话,验证账号密码后进入用户界面
if(strCBText==“用户”)
{
m_user.Open();
CString SQL;
SQL.Format(_T("Uno=’%s’AND Upassword=’%s’"),m_name,m_password);
m_user.m_strFilter=SQL;
m_user.Requery();
if(m_name.IsEmpty()||m_password.IsEmpty())
{
m_user.Close();
str=“账号/密码不能为空”;
m_password=_T("");
UpdateData(FALSE);
MessageBox(str);
}
else if(m_user.IsEOF()&&m_user.IsBOF())
{
m_user.Close();
str=“账号密码有误”;
m_name=_T("");
m_password=_T("");
UpdateData(FALSE);
MessageBox(str);
}
else
{16
m_user.Close();
dd=m_name;
CDlguser a(this);
a.DoModal();
}
}
//如果身份选项为管理员的话,验证账号密码后进入管理员界面
else if(strCBText==“管理员”)
{
m_admin.Open();
CString SQL;
SQL.Format(_T(“Ano=’%s’AND Apassword=’%s’”),m_name,m_password);
m_admin.m_strFilter=SQL;
m_admin.Requery();
if(m_name.IsEmpty()||m_password.IsEmpty())
{
m_admin.Close();
str=“账号/密码不能为空”;
m_password=_T("");
UpdateData(FALSE);
MessageBox(str);
}
else if(m_admin.IsEOF()&&m_admin.IsBOF())
{
m_admin.Close();
str=“账号密码有误”;
m_name=_T("");
m_password=_T("");
UpdateData(FALSE);
MessageBox(str);
}
else
{
m_admin.Close();
admin=m_name;
CDlgadmin a(this);
a.DoModal();
}
}
}
void C 图书管理系统 Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
//点击注册按钮响应事件17
CDlgrst a;
a.DoModal();
}

2.注册模块
(1)为注册界面窗体创建类,实现用户注册功能,并在该类中添加如下控制代码。

BOOL CDlgrst::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: 在此添加额外的初始化代码
m_db.Open(_T(“LDSN”));
m_user1.m_pDatabase=&m_db;
//设置可选编辑框属性,默认属性为男
m_sex.InsertString(0,_T(“男”));
m_sex.InsertString(1,_T(“女”));
m_sex.SetCurSel(0);
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CDlgrst::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
//退出当前窗口
OnOK();
}
void CDlgrst::OnBnClickedButton1()18
{
// TODO: 在此添加控件通知处理程序代码
//注册功能实现
int n = m_sex.GetCurSel();
CString strCBText;
m_sex.GetLBText(n,strCBText);
UpdateData(TRUE);
m_user1.Open();
CString SQL;
SQL.Format(_T(“Uno=’%s’”),m_no1);
m_user1.m_strFilter=SQL;
m_user1.Requery();
CString str;
if((m_no1=="")||(m_name1=="")||(m_tel=="")||(m_psd1=="")||(m_psd2==""))
{
m_user1.Close();
str=“存在必填项未填,请重新填写”;
MessageBox(str);
}
else if(m_psd1!=m_psd2)
{
m_user1.Close();
str=“密码不一致,请重新输入”;
MessageBox(str);
}
else if(!m_user1.IsEOF()||!m_user1.IsBOF())
{
m_user1.Close();
str=“已存在相同账号,注册失败”;
MessageBox(str);
}
else
{
m_user1.AddNew();
m_user1.m_Uno=m_no1;
m_user1.m_Uname=m_name1;
m_user1.m_Utelephone=m_tel;
m_user1.m_Upassword=m_psd1;
m_user1.m_Usex=strCBText;
m_user1.m_total=0;
m_user1.Update();
m_user1.Close();
str=“注册成功”;
MessageBox(str);19
OnOK();
}
}
3.用户界面模块:
(1)为用户界面窗体创建类,实现点击首页推荐书籍、借阅记录、还书、修改个人信息及退
出登录功能,并在该类中添加如下控制代码。
BOOL CDlguser::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: 在此添加额外的初始化代码
MessageBox(_T(“欢迎登录图书管理系统”));
GetDlgItem(IDC_LIST1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_HIDE);
m_list1.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_CHECKBOXES);
m_list3.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);20
m_list3.InsertColumn(0,_T(""),LVCFMT_LEFT,0);
m_list3.InsertColumn(1,_T(“书名”),LVCFMT_LEFT,120);
m_list3.InsertColumn(2,_T(“书号”),LVCFMT_LEFT,120);
m_list3.InsertColumn(3,_T(“作者”),LVCFMT_LEFT,120);
m_list3.InsertColumn(4,_T(“种类”),LVCFMT_LEFT,120);
m_list3.InsertColumn(5,_T(“库存量”),LVCFMT_LEFT,120);
m_db.Open(_T(“LDSN”));
m_borrow.m_pDatabase=&m_db;
m_user.m_pDatabase=&m_db;
m_book.m_pDatabase=&m_db;
CString id;
id=((C 图书管理系统 Dlg*)m_pParent)->dd;
CString SQL;
SQL.Format(_T(“Uno=’%s’”),id);
m_borrow.m_strFilter=SQL;
m_borrow.m_strSort=_T(“Borrow_date DESC”);
m_borrow.Open();
CString str;
CString sqla,sqlb,category,a;
int k=0;
if(!m_borrow.IsEOF())
{
str=m_borrow.m_Bno;
sqla.Format(_T(“Bno=’%s’”),str);
m_book.m_strFilter=sqla;
m_book.Open();
category=m_book.m_Category;
sqlb.Format(_T(“Category=’%s’”),category);
m_book.Close();
m_book.m_strFilter=sqlb;
m_book.Open();
while(!m_book.IsEOF())
{
m_list3.InsertItem(k,_T(""));
a=m_book.m_Title;
m_list3.SetItemText(k,1,a);
a=m_book.m_Bno;
m_list3.SetItemText(k,2,a);
a=m_book.m_Author;
m_list3.SetItemText(k,3,a);
a=m_book.m_Category;
m_list3.SetItemText(k,4,a);
int b=m_book.m_Book_total;21
a.Format(_T("%d"),b);
m_list3.SetItemText(k,5,a);
k++;
m_book.MoveNext();
}
m_book.Close();
m_borrow.MoveNext();
}
m_borrow.Close();
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CDlguser::OnBnClickedMfcbutton5()
{
// TODO: 在此添加控件通知处理程序代码
//退出登录
OnOK();
}
void CDlguser::OnBnClickedMfcbutton1()
{
// TODO: 在此添加控件通知处理程序代码
//借阅记录
GetDlgItem(IDC_STATIC8)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST1)->ShowWindow(SW_SHOW);
m_list1.DeleteAllItems();
while(m_list1.DeleteColumn(0));22
m_list1.InsertColumn(0,_T(""),LVCFMT_LEFT,0);
m_list1.InsertColumn(1,_T(“借书证号”),LVCFMT_LEFT,90);
m_list1.InsertColumn(2,_T(“书名”),LVCFMT_LEFT,100);
m_list1.InsertColumn(3,_T(“用户名”),LVCFMT_LEFT,100);
m_list1.InsertColumn(4,_T(“借书日期”),LVCFMT_LEFT,110);
m_list1.InsertColumn(5,_T(“还书日期”),LVCFMT_LEFT,110);
m_list1.InsertColumn(6,_T(“归还状态”),LVCFMT_LEFT,90);
CString str;
str=((C 图书管理系统 Dlg*)m_pParent)->dd;
CString SQL;
SQL.Format(_T(“Uno=’%s’”),str);
m_borrow.m_strFilter=SQL;
m_borrow.Open();
int n=0;
CString a;
while(!m_borrow.IsEOF())
{
m_list1.InsertItem(n,_T(""));
int b=m_borrow.m_Bno1;
a.Format(_T("%d"),b);
m_list1.SetItemText(n,1,a);
a=m_borrow.m_Title;
m_list1.SetItemText(n,2,a);
a=m_borrow.m_Uno;
m_list1.SetItemText(n,3,a);
a=m_borrow.m_Borrow_date.Format("%Y-%m-%d %H:%M:%S %W-%A");
m_list1.SetItemText(n,4,a);
if(m_borrow.m_Return_dateNULL)
a="";
else
a=m_borrow.m_Return_date.Format("%Y-%m-%d %H:%M:%S %W-%A");
m_list1.SetItemText(n,5,a);
a=m_borrow.m_Condition;
m_list1.SetItemText(n,6,a);
m_borrow.MoveNext();
n++;
}
m_borrow.Close();
}
void CDlguser::OnBnClickedMfcbutton4()
{
// TODO: 在此添加控件通知处理程序代码23
//修改个人信息界面
GetDlgItem(IDC_STATIC8)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT3)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT4)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC3)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC4)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_SHOW);
m_user.Open();
CString str;
str=((C 图书管理系统 Dlg*)m_pParent)->dd;
CString SQL;
SQL.Format(_T(“Uno=’%s’”),str);
m_user.m_strFilter=SQL;
m_user.Requery();
m_no=m_user.m_Uno;
m_name=m_user.m_Uname;
m_tel=m_user.m_Utelephone;
m_total=m_user.m_total;
UpdateData(FALSE);
CEdit edit1=(CEdit)GetDlgItem(IDC_EDIT1);
edit1->EnableWindow(FALSE);
CEdit edit2=(CEdit)GetDlgItem(IDC_EDIT2);
edit2->EnableWindow(FALSE);
CEdit edit4=(CEdit)GetDlgItem(IDC_EDIT4);
edit4->EnableWindow(FALSE);
m_user.Close();
}
void CDlguser::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
//确认修改
UpdateData(TRUE);24
m_user.Open();
CString str;
str=((C 图书管理系统 Dlg*)m_pParent)->dd;
CString SQL;
SQL.Format(_T(“Uno=’%s’”),str);
m_user.m_strFilter=SQL;
if(m_psd1!=m_psd2)
MessageBox(_T(“密码输入不一致,修改失败”));
else if(!m_psd1.IsEmpty())
{
m_user.Edit();
m_user.m_Upassword=m_psd1;
if(!m_tel.IsEmpty())
m_user.m_Utelephone=m_tel;
m_user.Update();
MessageBox(_T(“修改成功”));
}
else MessageBox(_T(“密码不能为空”));
m_user.Close();
}
void CDlguser::OnBnClickedMfcbutton7()
{
// TODO: 在此添加控件通知处理程序代码
//还书界面
GetDlgItem(IDC_STATIC8)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_SHOW);
m_list1.DeleteAllItems();
while(m_list1.DeleteColumn(0));25
m_list1.InsertColumn(0,_T(“√”),LVCFMT_LEFT,40);
m_list1.InsertColumn(1,_T(“借书证号”),LVCFMT_LEFT,90);
m_list1.InsertColumn(2,_T(“书名”),LVCFMT_LEFT,100);
m_list1.InsertColumn(3,_T(“用户名”),LVCFMT_LEFT,100);
m_list1.InsertColumn(4,_T(“借书日期”),LVCFMT_LEFT,110);
m_list1.InsertColumn(5,_T(“还书日期”),LVCFMT_LEFT,110);
m_list1.InsertColumn(6,_T(“归还状态”),LVCFMT_LEFT,90);
CString str;
str=((C 图书管理系统 Dlg*)m_pParent)->dd;
CString SQL;
SQL.Format(_T(“Uno=’%s’ AND Condition=‘未还’”),str);
m_borrow.m_strFilter=SQL;
m_borrow.Open();
m_borrow.Requery();
int n=0;
CString a;
if(m_borrow.IsBOF()&&m_borrow.IsEOF())
MessageBox(_T(“当前无待还书目”));
else while(!m_borrow.IsEOF())
{
m_list1.InsertItem(n,_T(""));
int b=m_borrow.m_Bno1;
a.Format(_T("%d"),b);
m_list1.SetItemText(n,1,a);
a=m_borrow.m_Title;
m_list1.SetItemText(n,2,a);
a=m_borrow.m_Uno;
m_list1.SetItemText(n,3,a);
a=m_borrow.m_Borrow_date.Format("%Y-%m-%d %H:%M:%S %W-%A");
m_list1.SetItemText(n,4,a);
if(m_borrow.m_Return_date
NULL)
a="";
else
a=m_borrow.m_Return_date.Format("%Y-%m-%d %H:%M:%S %W-%A");
m_list1.SetItemText(n,5,a);
a=m_borrow.m_Condition;
m_list1.SetItemText(n,6,a);
m_borrow.MoveNext();
n++;
}
m_borrow.Close();26
}
void CDlguser::OnBnClickedMfcbutton2()
{
// TODO: 在此添加控件通知处理程序代码
//弹出借书/查询页面
ee=((C 图书管理系统 Dlg*)m_pParent)->dd;
CDligfind a(this);
a.DoModal();
}
void CDlguser::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
//确认还书
m_book.Open();
m_borrow.Open();
m_user.Open();
if(m_list1.GetItemCount()!=0)
{
CString str;
str=((C 图书管理系统 Dlg*)m_pParent)->dd;
CString SQL;
SQL.Format(_T(“Uno=’%s’ AND Condition=‘未还’”),str);
m_borrow.m_strFilter=SQL;m_borrow.Requery();
CString SQL1;
SQL1.Format(_T(“Uno=’%s’”),str);
m_user.m_strFilter=SQL1;
m_user.Requery();
for(int i=0;i<m_list1.GetItemCount();i++)
{
if(m_list1.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED||m_list1.GetCheck(i))
{
//更新 book 表
CString a;
a=m_borrow.m_Bno;
CString SQL2;
SQL2.Format(_T(“Bno=’%s’”),a);
m_book.m_strFilter=SQL2;
m_book.Requery();
m_book.Edit();
m_book.m_Book_total=m_book.m_Book_total+1;
m_book.Update();27
//更新 borrow 表
m_borrow.Edit();
m_borrow.m_Condition=“已还”;
CTime T=CTime::GetCurrentTime();
m_borrow.m_Return_date=T;
m_borrow.Update();
//更新 user 表
m_user.Edit();
//已借书量减 1
m_user.m_total–;
m_user.Update();
m_list1.DeleteItem(i);
}
else m_borrow.MoveNext();
}
UpdateWindow();
}
m_borrow.Close();
m_user.Close();
m_book.Close();
}
void CDlguser::OnBnClickedMfcbutton6()
{
// TODO: 在此添加控件通知处理程序代码
//点击首页
GetDlgItem(IDC_EDIT1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC8)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_LIST3)->ShowWindow(SW_SHOW);28
}
(2)为用户借书/查询界面窗体创建类,实现用户借书及查询功能,并在该类中添加如下控
制代码。
void CDligfind::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
//返回上一界面
OnOK();
}
BOOL CDligfind::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: 在此添加额外的初始化
m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_CHECKBOXES);
m_db.Open(_T(“LDSN”));
m_borrow.m_pDatabase=&m_db;
m_user.m_pDatabase=&m_db;
m_book.m_pDatabase=&m_db;
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CDligfind::OnBnClickedMfcbutton1()
{
// TODO: 在此添加控件通知处理程序代码
//确认查询
m_list.DeleteAllItems();29
while(m_list.DeleteColumn(0));
m_list.InsertColumn(0,_T(“√”),LVCFMT_LEFT,40);
m_list.InsertColumn(1,_T(“书名”),LVCFMT_LEFT,120);
m_list.InsertColumn(2,_T(“书号”),LVCFMT_LEFT,100);
m_list.InsertColumn(3,_T(“作者”),LVCFMT_LEFT,100);
m_list.InsertColumn(4,_T(“库存量”),LVCFMT_LEFT,110);
m_list.InsertColumn(5,_T(“种类”),LVCFMT_LEFT,110);
m_list.InsertColumn(6,_T(“价格”),LVCFMT_LEFT,150);
m_list.InsertColumn(7,_T(“出版社”),LVCFMT_LEFT,100);
m_list.InsertColumn(8,_T(“年份”),LVCFMT_LEFT,100);
int n=0;
UpdateData(TRUE);
CString SQL,SQL1,SQL2,SQL3,SQL4,SQL5;
if(!m_bno.IsEmpty())
{
SQL1.Format(_T(“Bno=’%s’”),m_bno);
SQL=SQL1;
}
if(!m_category.IsEmpty())
{
SQL2.Format(_T(“Category=’%s’”),m_category);
if(SQL.IsEmpty())
SQL=SQL+SQL2;
else
SQL=SQL+" AND “+SQL2;
}
if(!m_author.IsEmpty())
{
SQL3.Format(_T(“Author=’%s’”),m_author);
if(SQL.IsEmpty())
SQL=SQL+SQL3;
else
SQL=SQL+” AND “+SQL3;
}
if(!m_press.IsEmpty())
{
SQL4.Format(_T(“Press=’%s’”),m_press);
if(SQL.IsEmpty())
SQL=SQL+SQL4;
else
SQL=SQL+” AND “+SQL4;
}
if(!m_title.IsEmpty())30
{
SQL5.Format(_T(“Title=’%s’”),m_title);
if(SQL.IsEmpty())
SQL=SQL+SQL5;
else
SQL=SQL+” AND “+SQL5;
}
if(SQL.IsEmpty())
{
MessageBox(_T(“请输入查询信息”));
}
else
{
m_book.Open();
m_book.m_strFilter=SQL;
m_book.Requery();
CString a;
int n=0;
if(m_book.IsEOF()&&m_book.IsBOF())
{
MessageBox(_T(“查询不到该书籍”));
}
else while(!m_book.IsEOF())
{
m_list.InsertItem(n,_T(”"));
a=m_book.m_Title;
m_list.SetItemText(n,1,a);
a=m_book.m_Bno;
m_list.SetItemText(n,2,a);
a=m_book.m_Author;
m_list.SetItemText(n,3,a);
int b=m_book.m_Book_total;
a.Format(_T("%d"),b);
m_list.SetItemText(n,4,a);
a=m_book.m_Category;
m_list.SetItemText(n,5,a);
double c=m_book.m_Price;
a.Format(_T("%f"),c);
m_list.SetItemText(n,6,a);
a=m_book.m_Press;
m_list.SetItemText(n,7,a);
b=m_book.m_Book_year;
a.Format(_T("%d"),b);
m_list.SetItemText(n,8,a);31

int n=0;
int hang;
for(int i=0;i<m_list.GetItemCount();i++)
{
if(m_list.GetItemState(i,LVIS_SELECTED)LVIS_SELECTED||m_list.GetCheck(i))
{
n++;
hang =i;
}
}
if(n
0)
MessageBox(_T(“未选择任何项目”));
else if(n>1)
MessageBox(_T(“单次修改只允许选择一项”));
else if(m_name.IsEmpty()||m_press.IsEmpty()||m_year0)
MessageBox(_T(“存在必填项未填,修改失败”));
else
{
CString str=m_list.GetItemText(hang,1);
CString SQL;
SQL.Format(_T(“Bno=’%s’”),str);
m_book.m_strFilter=SQL;
m_book.Open();
m_book.Edit();
m_book.m_Title=m_name;
m_book.m_Press=m_press;
m_book.m_Book_year=m_year;
m_book.m_Author=m_author;
m_book.m_Price=m_price;
m_book.m_Book_total=Book_total;
m_book.Update();
int tt=m_book.m_Book_total;
m_book.Close();
m_record.m_strSort=_T(“Rno DESC”);
m_record.Open();
int k=m_record.m_Rno;
k++;
m_record.AddNew();
m_record.m_Rno=k;
m_record.AddNew();
m_record.m_Rno=k;
m_record.m_Ano=admin1;
m_record.m_Aname=admin2;
m_record.m_Title=m_list.GetItemText(hang,3);
m_record.m_Quantity=tt;50
m_record.m_Alter_condition=“修改”;
CTime T=CTime::GetCurrentTime();
m_record.m_Alter_date=T;
m_record.Update();
m_record.Close();
MessageBox(_T(“修改成功”));
}
OnBnClickedMfcbutton4();
}
(4)为管理员用户查询界面窗体创建类,实现查询用户功能,并在该类中添加如下控制代码
BOOL CDlgduzhe::OnInitDialog()
{
CDialogEx::OnInitDialog();
m_db.Open(_T(“LDSN”));
m_user.m_pDatabase=&m_db;
m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_list.InsertColumn(0,_T(""),LVCFMT_LEFT,0);
m_list.InsertColumn(1,_T(“账号”),LVCFMT_LEFT,100);
m_list.InsertColumn(2,_T(“姓名”),LVCFMT_LEFT,100);
m_list.InsertColumn(3,_T(“电话号码”),LVCFMT_LEFT,140);
m_list.InsertColumn(4,_T(“密码”),LVCFMT_LEFT,100);
m_list.InsertColumn(5,_T(“现借书量”),LVCFMT_LEFT,100);
m_list.InsertColumn(6,_T(“性别”),LVCFMT_LEFT,100);
//设置可选编辑框属性,默认属性为男
m_sex.InsertString(0,_T(""));
m_sex.InsertString(1,_T(“男”));
m_sex.InsertString(2,_T(“女”));
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}51
void CDlgduzhe::OnBnClickedMfcbutton1()
{
// TODO: 在此添加控件通知处理程序代码
//查询所有用户
m_list.DeleteAllItems();
m_user.m_strFilter="";
m_user.Open();
CString a;
int n=0;
while(!m_user.IsEOF())
{
m_list.InsertItem(n,_T(""));
a=m_user.m_Uno;
m_list.SetItemText(n,1,a);
a=m_user.m_Uname;
m_list.SetItemText(n,2,a);
a=m_user.m_Utelephone;
m_list.SetItemText(n,3,a);
a=m_user.m_Upassword;
m_list.SetItemText(n,4,a);
int b=m_user.m_total;
a.Format(_T("%d"),b);
m_list.SetItemText(n,5,a);
a=m_user.m_Usex;
m_list.SetItemText(n,6,a);
m_user.MoveNext();
n++;
}
m_user.Close();
}
void CDlgduzhe::OnBnClickedMfcbutton2()
{
// TODO: 在此添加控件通知处理程序代码
//指定查询
m_list.DeleteAllItems();
UpdateData(TRUE);
CString SQL,SQL1,SQL2,SQL3,SQL4;
if(!m_no.IsEmpty())
{
SQL1.Format(_T(“Uno=’%s’”),m_no);
SQL=SQL1;52
}
if(!m_name.IsEmpty())
{
SQL2.Format(_T(“Uname=’%s’”),m_name);
if(SQL.IsEmpty())
SQL=SQL+SQL2;
else
SQL=SQL+" AND “+SQL2;
}
if(!m_tel.IsEmpty())
{
SQL3.Format(_T(“Utelephone=’%s’”),m_tel);
if(SQL.IsEmpty())
SQL=SQL+SQL3;
else
SQL=SQL+” AND "+SQL3;
}
CString strCBText;
int index = m_sex.GetCurSel();
if(index
1||index2)
{
m_sex.GetLBText(index,strCBText);
}
if(!strCBText.IsEmpty())
{
SQL4.Format(_T(“Usex=’%s’”),strCBText);
if(SQL.IsEmpty())
SQL=SQL+SQL4;
else
SQL=SQL+" AND “+SQL4;
}
if(SQL.IsEmpty())
{
MessageBox(_T(“请输入查询信息”));
}
else{
m_user.Open();
m_user.m_strFilter=SQL;
m_user.Requery();
CString a;
int n=0;
if(m_user.IsEOF()&&m_user.IsBOF())
{
MessageBox(_T(“查询不到该用户”));
}53
else while(!m_user.IsEOF())
{
m_list.InsertItem(n,_T(”"));
a=m_user.m_Uno;
m_list.SetItemText(n,1,a);
a=m_user.m_Uname;
m_list.SetItemText(n,2,a);
a=m_user.m_Utelephone;
m_list.SetItemText(n,3,a);
a=m_user.m_Upassword;
m_list.SetItemText(n,4,a);
int b=m_user.m_total;
a.Format(_T("%d"),b);
m_list.SetItemText(n,5,a);
a=m_user.m_Usex;
m_list.SetItemText(n,6,a);
m_user.MoveNext();
n++;
}
m_user.Close();
}
}
(5)为管理员借阅记录查询界面窗体创建类,实现查询借阅记录功能,并在该类中添加如下
控制代码
BOOL CDlgjieyue::OnInitDialog()
{
CDialogEx::OnInitDialog();
m_db.Open(_T(“LDSN”));
m_borrow.m_pDatabase=&m_db;54
m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_list.InsertColumn(0,_T(""),LVCFMT_LEFT,0);
m_list.InsertColumn(1,_T(“用户号”),LVCFMT_LEFT,100);
m_list.InsertColumn(2,_T(“借阅编号”),LVCFMT_LEFT,100);
m_list.InsertColumn(3,_T(“姓名”),LVCFMT_LEFT,140);
m_list.InsertColumn(4,_T(“书名”),LVCFMT_LEFT,100);
m_list.InsertColumn(5,_T(“借书日期”),LVCFMT_LEFT,100);
m_list.InsertColumn(6,_T(“还书日期”),LVCFMT_LEFT,100);
m_list.InsertColumn(7,_T(“归还状态”),LVCFMT_LEFT,100);
m_list.InsertColumn(8,_T(“书号”),LVCFMT_LEFT,100);
//设置可选编辑框属性,默认属性为男
m_condition.InsertString(0,_T(""));
m_condition.InsertString(1,_T(“未还”));
m_condition.InsertString(2,_T(“已还”));
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CDlgjieyue::OnBnClickedMfcbutton1()
{
// TODO: 在此添加控件通知处理程序代码
//查询全部
m_list.DeleteAllItems();
m_borrow.m_strFilter="";
m_borrow.m_strSort="";
m_borrow.Open();
CString a;
int n=0;
while(!m_borrow.IsEOF())
{
m_list.InsertItem(n,_T(""));
a=m_borrow.m_Uno;
m_list.SetItemText(n,1,a);
int b=m_borrow.m_Bno1;
a.Format(_T("%d"),b);
m_list.SetItemText(n,2,a);
a=m_borrow.m_Uname;
m_list.SetItemText(n,3,a);
a=m_borrow.m_Title;
m_list.SetItemText(n,4,a);
a=m_borrow.m_Borrow_date.Format("%Y-%m-%d %H:%M:%S %W-%A");55
m_list.SetItemText(n,5,a);
if(m_borrow.m_Return_date
NULL)
a="";
else
a=m_borrow.m_Return_date.Format("%Y-%m-%d %H:%M:%S %W-%A");
m_list.SetItemText(n,6,a);
a=m_borrow.m_Condition;
m_list.SetItemText(n,7,a);
a=m_borrow.m_Bno;
m_list.SetItemText(n,8,a);
m_borrow.MoveNext();
n++;
}
m_borrow.Close();
}
void CDlgjieyue::OnBnClickedMfcbutton2()
{
// TODO: 在此添加控件通知处理程序代码
//指定查询
m_list.DeleteAllItems();
UpdateData(TRUE);
CString SQL,SQL1,SQL2,SQL3,SQL4,SQL5;
if(!m_no.IsEmpty())
{
SQL1.Format(_T(“Uno=’%s’”),m_no);
SQL=SQL1;
}
if(!m_name.IsEmpty())
{
SQL2.Format(_T(“Uname=’%s’”),m_name);
if(SQL.IsEmpty())
SQL=SQL+SQL2;
else
SQL=SQL+" AND “+SQL2;
}
if(!m_title.IsEmpty())
{
SQL3.Format(_T(“Title=’%s’”),m_title);
if(SQL.IsEmpty())
SQL=SQL+SQL3;
else
SQL=SQL+” AND “+SQL3;56
}
CString strCBText;
int index = m_condition.GetCurSel();
if(index1||index2)
{
m_condition.GetLBText(index,strCBText);
}
if(!strCBText.IsEmpty())
{
SQL4.Format(_T(“Condition=’%s’”),strCBText);
if(SQL.IsEmpty())
SQL=SQL+SQL4;
else
SQL=SQL+” AND “+SQL4;
}
if(!m_bno.IsEmpty())
{
SQL5.Format(_T(“Bno=’%s’”),m_bno);
if(SQL.IsEmpty())
SQL=SQL+SQL5;
else
SQL=SQL+” AND “+SQL5;
}
if(SQL.IsEmpty())
{
MessageBox(_T(“请输入查询信息”));
}
else
{
m_borrow.m_strSort=”";
m_borrow.Open();
m_borrow.m_strFilter=SQL;
m_borrow.Requery();
CString a;
int n=0;
if(m_borrow.IsEOF()&&m_borrow.IsBOF())
{
MessageBox(_T(“查询不到该借阅记录”));
}
else while(!m_borrow.IsEOF())
{
m_list.InsertItem(n,_T(""));
a=m_borrow.m_Uno;
m_list.SetItemText(n,1,a);
int b=m_borrow.m_Bno1;57
a.Format(_T("%d"),b);
m_list.SetItemText(n,2,a);
a=m_borrow.m_Uname;
m_list.SetItemText(n,3,a);
a=m_borrow.m_Title;
m_list.SetItemText(n,4,a);
a=m_borrow.m_Borrow_date.Format("%Y-%m-%d %H:%M:%S %W-%A");
m_list.SetItemText(n,5,a);
if(m_borrow.m_Return_date==NULL)
a="";
else
a=m_borrow.m_Return_date.Format("%Y-%m-%d %H:%M:%S %W-%A");
m_list.SetItemText(n,6,a);
a=m_borrow.m_Condition;
m_list.SetItemText(n,7,a);
a=m_borrow.m_Bno;
m_list.SetItemText(n,8,a);
m_borrow.MoveNext();
n++;
}
m_borrow.Close();
}
}
void CDlgjieyue::OnBnClickedMfcbutton3()
{
// TODO: 在此添加控件通知处理程序代码
//降序排序
if(m_list.GetItemCount()0)
return;
else
{
m_list.DeleteAllItems();
m_borrow.m_strSort=“Bno1 DESC”;
m_borrow.Open();
CString a;
int n=0;
while(!m_borrow.IsEOF())
{
m_list.InsertItem(n,_T(""));
a=m_borrow.m_Uno;
m_list.SetItemText(n,1,a);
int b=m_borrow.m_Bno1;
a.Format(_T("%d"),b);58
m_list.SetItemText(n,2,a);
a=m_borrow.m_Uname;
m_list.SetItemText(n,3,a);
a=m_borrow.m_Title;
m_list.SetItemText(n,4,a);
a=m_borrow.m_Borrow_date.Format("%Y-%m-%d %H:%M:%S %W-%A");
m_list.SetItemText(n,5,a);
if(m_borrow.m_Return_date
NULL)
a="";
else
a=m_borrow.m_Return_date.Format("%Y-%m-%d %H:%M:%S %W-%A");
m_list.SetItemText(n,6,a);
a=m_borrow.m_Condition;
m_list.SetItemText(n,7,a);
a=m_borrow.m_Bno;
m_list.SetItemText(n,8,a);
m_borrow.MoveNext();
n++;
}
m_borrow.Close();
}
}
void CDlgjieyue::OnBnClickedMfcbutton4()
{
// TODO: 在此添加控件通知处理程序代码
//升序排序
if(m_list.GetItemCount()0)
return;
else
{
m_list.DeleteAllItems();
m_borrow.m_strSort=“Bno1 ASC”;
m_borrow.Open();
CString a;
int n=0;
while(!m_borrow.IsEOF())
{
m_list.InsertItem(n,_T(""));
a=m_borrow.m_Uno;
m_list.SetItemText(n,1,a);
int b=m_borrow.m_Bno1;
a.Format(_T("%d"),b);
m_list.SetItemText(n,2,a);59
a=m_borrow.m_Uname;
m_list.SetItemText(n,3,a);
a=m_borrow.m_Title;
m_list.SetItemText(n,4,a);
a=m_borrow.m_Borrow_date.Format("%Y-%m-%d %H:%M:%S %W-%A");
m_list.SetItemText(n,5,a);
if(m_borrow.m_Return_date
NULL)
a="";
else
a=m_borrow.m_Return_date.Format("%Y-%m-%d %H:%M:%S %W-%A");
m_list.SetItemText(n,6,a);
a=m_borrow.m_Condition;
m_list.SetItemText(n,7,a);
a=m_borrow.m_Bno;
m_list.SetItemText(n,8,a);
m_borrow.MoveNext();
n++;
}
m_borrow.Close();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值