版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录一绪论01.1 课题背景及现状01.2 开发工具介绍0二需求分析0三概要设计1四逻辑设计4五详细设计6六小结34一绪论1.1课题背景及现状图书馆管理系统是典型的信息管理系统,具开发主要包括后台数据库的建立和维护以及前端的应用程序的开发两个方面。对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备,易用等的特点。该图书管理系统是一款多功能的图书管理类工具,可以快速、准确、详细地查询书籍和读者,以及出版社信息,及受欢迎程度等。开发化境:VC+6.0。1.2开发工具介绍数据库的建立基于Access数据库开发的,前台应用程序基于vc(有相应的数据库访问组件)。二需求分析立足于校园
2、实际,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的共享。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者、出版社信息的管理,其实是对图书、读者数据出版社信息的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销、图书归还中的问题;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况,还可以根据图书类别查询图书,可以查询出版社的信息,以及某出版社的图书在本校的借阅情况和平均价钱等信息。
3、图书管理系统,最主要处理两个过程,借书与还书。借书之前先看看是不是有借书的资格。还书时,检查一下书是否过期等如有进行相关的处理。其他的一些功能主要是围绕这两个功能展开。系统管理模块的功能应包括:用户登录(Admin和普通用户)、退出系统等等。基础数据设置的功能包括:罚款(规定超出借阅天数后收费多少,默认值是0.1元)、图书类别和读者类别管理。借阅管理模块的功能包括:借书(读者编号为主键,也可以图书编号为主键借阅,其中药判断读这类型和其能借阅的本书限制)、还书(图书编号为主键,判断其借出日期和归还日期是不是超出天数范围之内,最后做出是否罚款这项)、借书查询(读者编号和图书编号为查询条件)和还书查
4、询(读者编号和图书编号为查询条件)。书库管理模块的功能包括:新书的录入(图书编号、图书名称、作者、图书类别、出版社、图书价格和备注)、图书查询(读者编号和图书编号为查询条件)、图书挂失(图书编号为查询条件)。最新范本,供参考!读者管理模块的功能包括:读者登记(读者编号、读者姓名、性别、所在部门、读者类别、联系电话、登记日期、地址、备注)、读者信息查询(读这类型和读者编号查询条件)和读者注销(读这类型和读者编号查询条件)。数据库公里模块的功能包括:数据库备份和数据库恢复。当然为了更好的订阅,要给出出版社相对质量的参照,便于以后订购较受欢迎的图书。当然考虑到前台应用程序的需要,以及相关要求,要定义
5、一部分视图(后面遇到时,再详细介绍)。前台应用程序的界面要尽量的友好美观,便于用户操作,使用户可以不用怎样刻意的去学习,只要看到界面就可以做出正确的操作。用vc作为前台的开发工具,要求应前台用程序和后台数据库在数据类型方面要统一,否则会出现插入和更新异常等,导致系统异常,不利于使用。本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。三概要设计读者信息:图3-1读者图书:最新范本,供参考!图3-2图书图3-3出版社MP中,另一张表结构如下:管理员涉及两张表,密码登陆上次时间放在表图3-4管理员借书关系:图3-6借阅关系四逻
6、辑设计编号bookInfo(codeint(30)primarykey,/namechar(50),typechar(40),presschar(40),writerchar(20),pricefloat,intdate日期/时间,isBorrowBoolean(2),reader_codechar(50briefchar(50),)bookType(typechar(40),numberint(20)reader(codechar(15),namechar(10),sexchar(2),typechar(20),reg_date日期/时间,phonechar(20),deptchar(20)
7、,addresschar(20),briefchar(20)readType(typechar(20),numberint(20)borrowInfo(ID自动编号,primarykey(ID)reader_codechar(20),primarykey(bid,rid)reader_namechar(20),/借书日期book_codechar(20),/还书日期book_namechar(20),primarykey(bid,rid),book_typechar(20),pricechar(20),borrow_date日期/时间,return_date日期/时间,isReturnBool
8、ean,operaterchar(20)RetunInfo(IDlong(10),read_codechar(15),read_namechar(10),book_codechar(20),book_namechar(20),book_typechar(20),pricechar(20),borrow_date日期/时间,return_date日期/时间,punishchar(20),otherchar(20),totalchar(20),operatoerchar(20)publishType(typechar(20),moneychar(50)user/保存管理员登陆时间密码的表(user
9、char(6)primarykey,passwsdchar(8),isadminboolan(2)至于定义的视图等,在前台应用程序中用到时再进行说明。五详细设计1登录界面可以根据需要在数据库中建立相应的用户,用户具体可分为一般用户和管理员。登录默密码为1。2主界面至荒龌象:端味龙百得同苣理书库整寸唏苣Z空客许能用郎萼工一京3各个菜单模块简介1系统管理点击系统管理,弹出下拉菜单,注销登录与退出系统菜单很简单不详细讲解,重点讲解用户管理菜单。点击用户管理菜单弹出一些窗口。退出I用户资料用户名:I呼国确认:F是否是管理员保存取消|用户列表读取的是数据库中User表的信息,将用户信息显示在列表框中,在
10、此Dialog的InitialDialog中进行,具体代码如下:BOOLCUserDlg:OnInitDialog()CDialog:OnInitDialog();创建用户列表m_ctrList.InsertColumn(0,"用户名");m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);m_ctrList.SetColumnWidth(0,120);/在添加用户列表中添加用户名RefreshData();returnTRUE;voidCUserDlg:RefreshData()m_ctrLi
11、st.SetFocus();/清空用户列表m_ctrList.DeleteAllItems();m_ctrList.SetRedraw(FALSE);CStringstrSQL;UpdateData(TRUE);打开记录集strSQL="select*fromuser"if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打开数据库失败!","数据库错误",MB_OK);return;添加用户名到用户列表中inti=0;while(!m_recordset.Is
12、EOF()m_ctrList.InsertItem(i+,m_recordset.m_user);m_recordset.MoveNext();m_recordset.Close();m_ctrList.SetRedraw(TRUE);点击保存信息是将用户修改的信息等保存到数据库,具体代码如下:UpdateData();if(m_ctrUse匚IsWindowEnabled()增加新用户的输入检查if(m_strUser="")MessageBox("请填写用户名!");m_ctrUser.SetFocus();return;else修改用户信息的输入检
13、查if(m_strUser="")MessageBox("请选择一个用户!");return;限制密码不能为空if(m_strPass="")MessageBox("密码不能为空,t#输入密码!");m_ctrPass.SetFocus();return;/验证密码与确认密码是否一致if(m_strPass!=m_strRePass)MessageBox("两次输入地密码不一致,请重新输入密码!");m_ctrPass.SetFocus();m_strPass=""m_str
14、RePass=""UpdateData(FALSE);return;打开记录集CStringstrSQL;strSQL.Format("select*fromuserwhereuser='%s'",m_strUser);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打开数据库失败!","数据库错误",MB_OK);return;if(m_ctrUser.IsWindowEnabled()增加新用户判断用户是否已经存在i
15、f(m_recordset.GetRecordCount()!=0)m_recordset.Close();MessageBox("该用户已经存在!");return;m_recordset.AddNew();m_recordset.m_user=m_strUser;m_recordset.m_passwd=m_strPass;m_recordset.m_isadmin=m_bIsAdmin;m_recordset.Update();MessageBox("用户添加成功!请记住用户名和密码!");m_recordset.Close();else修改用户信
16、息判断用户是否不存在if(m_recordset.GetRecordCount()=0)m_recordset.Close();MessageBox("该用户不存在!请更新数据库");return;m_recordset.Edit();m_recordset.m_user=m_strUser;m_recordset.m_passwd=m_strPass;m_recordset.m_isadmin=m_bIsAdmin;m_recordset.Update();MessageBox("用户修改成功!请记住用户名和密码!");m_recordset.Clos
17、e();m_ctrUser.EnableWindow(FALSE);更新用户列表RefreshData();2基础数据设置基础数据设置主要分为三个模块罚金设置,图书类别设置,读者类别设置点击模块罚金设置,弹出对话框如下:每超出一天的罚款金额I71礴定I取点击确定按钮,更新数据库的罚金表,实现代码如下UpdateData();检查金额输入if(m_strMoney.IsEmpty()AfxMessageBox("请输入罚款金额");return;构造记录集,保存数据CPunishTypeSetrs;CStringstrSQL;strSQL="select*fromp
18、unishType"if(!rs.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打开数据库失败!","数据库错误",MB_OK);return;判断记录是否已经存在if(rs.GetRecordCount()!=0)rs.Edit();rs.m_type="超出罚款"rs.m_money=m_strMoney;rs.Update();elsers.AddNew();rs.m_type="超出罚款"rs.m_money=m_strMoney;rs.Updat
19、e();rs.Close();CDialog:OnOK();点击图书类别设置,弹出对话框如下:S3返回点击添加按钮,将增加的类别信息填入对应的类别表中,代码如下:ClnputDlgdlg;dlg.m_strTypeNo="图书类型:"dlg.m_strNumberNo="可借天数:"if(dlg.DoModal()=IDOK)/打开记录集CStringstrSQL;strSQL.Format("select*frombookTypewheretype='%s'",dlg.m_strType);if(!m_records
20、et.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打开数据库失败!","数据库错误",MB_OK);最新范本,供参考!return;判断记录是否已经存在if(m_recordset.GetRecordCount()!=0)m_recordset.Close();MessageBox("该记录已经存在!");return;m_recordset.AddNew();m_recordset.m_type=dlg.m_strType;m_recordset.m_number=dlg.m_nN
21、umber;m_recordset.Update();m_recordset.Close();/更新列表RefreshData();修改和删除的操作类似,这里不详细介绍了。点击读者类别设置,弹出对话框如下:最新范本,供参考!£者主之设苣类别名称可借册数会员谭者5专科生3本科生5寇痛15普通读者4返回点击添加按钮,将增加的类别信息填入对应的类别表中,代码如下:ClnputDlgdlg;dlg.m_strTypeNo="读者类型:"dlg.m_strNumberNo="可借册数:"if(dlg.DoModal()=IDOK)/打开记录集CStrin
22、gstrSQL;strSQL.Format("select*fromreaderTypewheretype='%s'",dlg.m_strType);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打开数据库失败!","数据库错误",MB_OK);return;判断记录是否已经存在if(m_recordset.GetRecordCount()!=0)m_recordset.Close();MessageBox("该记录已经存在!&
23、quot;);return;m_recordset.AddNew();m_recordset.m_type=dlg.m_strType;m_recordset.m_number=dlg.m_nNumber;m_recordset.Update();m_recordset.Close();/更新列表RefreshData();修改和删除的操作类似,这里不详细介绍了。3借书管理点击借书子菜单,弹出对话框借出按钮对应的代码如下:/判断读者是否具有借阅资格,以及图书是否可以被借出if(!m_bReaderEnable|!m_bBookEnable)最新范本,供参考!return;CLibraryApp
24、*ptheApp=(CLibraryApp*)AfxGetApp();修改图书库存信息CBookInfoSetrs_book;CStringstrSQL;strSQL.Format("select*frombookinfowherecode='%s'",m_strBookCode);if(!rs_book.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打开数据库失败!","数据库错误",MB_OK);return;if(rs_book.GetRecordCount()=
25、0)rs_book.Close();return;rs_book.Edit();rs_book.m_isBorrow=TRUE;rs_book.m_reader_code=m_strReaderCode;rs_book.Update();rs_book.Close();if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE)AfxMessageBox("打开数据库失败!");return;添加借书记录m_recordset.AddNew();m_recordset.m_book_codem_recordset.m_book_name=m_r
26、ecordset.m_book_typem_recordset.m_borrow_datem_recordset.m_operatorm_recordset.m_pricem_recordset.m_reader_code=m_recordset.m_reader_name=m_recordset.m_return_date=m_recordset.m_isReturn=m_strBookCode;m_strBookName;=m_strBookType;=CTime:GetCurrentTime();=ptheApp->m_strOperator;=m_strBookPrice;m_s
27、trReaderCode;m_strReaderName;CTime:GetCurrentTime()+m_nDays*24*3600=FALSE;取新氾本,供参f!m_recordset.Update();m_recordset.Close();更新界面显示m_strBookCode=""m_strBookName=""m_strBookType=""m_strBookPrice=""m_nDays=0;m_nAlready+;m_nLeft-;m_bBookEnable=FALSE;UpdateData(FAL
28、SE);RefreshData();点击还书子菜单,弹出对话框归还按钮对应的代码如下:UpdateData();CLibraryApp*ptheApp=(CLibraryApp*)AfxGetApp();修改图书库存信息CBookInfoSetrs_book;CStringstrSQL;strSQL.Format("select*frombookinfowherecode='%s'",m_strBookCode);if(!rs_book.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)最新范本,供参考!MessageBox("
29、;打开数据库失败!","数据库错误",MB_OK);return;if(rs_book.GetRecordCount()=0)rs_book.Close();return;rs_book.Edit();rs_book.m_isBorrow=FALSE;rs_book.m_reader_code=_T("");rs_book.Update();rs_book.Close();修改借阅信息strSQL.Format("select*fromborrowInfowherebook_code='%s'andisReturn=F
30、alse,m_strBookCode);if(!m_BorrowSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)AfxMessageBox("打开数据库失败!");return;判断是否借出if(m_BorrowSet.GetRecordCount()!=0)m_BorrowSet.Edit();m_BorrowSet.m_isReturn=TRUE;m_BorrowSet.Update();m_BorrowSet.Close();保存还书信息到数据库中if(!m_ReturnSet.Open(AFX_DB_USE_DEFAULT_TYPE)
31、AfxMessageBox("打开数据库失败!");m_bntReturn.EnableWindow(FALSE);return;charbuffer20;m_ReturnSet.AddNew();m_ReturnSet.m_book_code=m_strBookCode;m_ReturnSet.m_book_name=m_strBookName;m_ReturnSet.m_book_type=m_strBookType;m_ReturnSet.m_borrow_date=m_tmBorrow;m_ReturnSet.m_operator=ptheApp->m_str
32、Operator;gcvt(m_fOther,7,buffer);m_ReturnSet.m_other=buffer;m_ReturnSet.m_price=m_strPrice;gcvt(m_fPunish,7,buffer);m_ReturnSet.m_punish=buffer;m_ReturnSet.m_reader_code=m_strReaderCode;m_ReturnSet.m_reader_name=m_strReaderName;m_ReturnSet.m_return_date=CTime:GetCurrentTime();gcvt(m_fTotal,7,buffer)
33、;m_ReturnSet.m_total=buffer;m_ReturnSet.Update();m_ReturnSet.Close();AfxMessageBox("图书归还成功!”,MB_ICONINFORMATION);恢复到初始状态OnButtonClear();点击借书查询,弹出如下对话框:借书直询次厂查询条件1(萱询读者墉铐;厂图书编招:回I醺者编号I读者姓名I图书编号图书名祢1图书类别I图书价格I借出日期一I归:irr查询按钮对应的代码如下:UpdateData();CStringstrSQL;if(!m_strReaderCode.IsEmpty()&!m_s
34、trBookCode.IsEmpty()strSQL.Format("select*fromborrowinfowherereader_code='%s'andbook_code=%s"',m_strReaderCode,m_strBookCode);elseif(!m_strReaderCode.IsEmpty()strSQL.Format("select*fromborrowinfowherereader_code='%s'",m_strReaderCode);elseif(!m_strBookCode.IsE
35、mpty()strSQL.Format("select*fromborrowinfowherebook_code='%s'",m_strBookCode);elsestrSQL="select*fromborrowinfo"m_ctrList.DeleteAllItems();m_ctrList.SetRedraw(FALSE);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打开数据库失败!","数据库错误",MB_O
36、K);return;inti=0;CStringstrTime;while(!m_recordset.IsEOF()m_ctrList.InsertItem(i,m_recordset.m_reader_code);m_ctrList.SetItemText(i,1,m_recordset.m_reader_name);m_ctrList.SetItemText(i,2,m_recordset.m_book_code);m_ctrList.SetItemText(i,3,m_recordset.m_book_name);m_ctrList.SetItemText(i,4,m_recordset
37、.m_price);m_ctrList.SetItemText(i,5,m_recordset.m_book_type);strTime.Format("%d-%d-%d",m_recordset.m_borrow_date.GetYear(),m_recordset.m_borrow_date.GetMonth(),m_recordset.m_borrow_date.GetDay();m_ctrList.SetItemText(i,6,strTime);strTime.Format("%d-%d-%d",m_recordset.m_return_dat
38、e.GetYear(),m_recordset.m_return_date.GetMonth(),m_recordset.m_return_date.GetDay();m_ctrList.SetItemText(i,7,strTime);m_ctrList.SetItemText(i,8,m_recordset.m_operator);i+;m_recordset.MoveNext();m_recordset.Close();m_ctrList.SetRedraw(TRUE);点击还书查询,弹出一下对话框S3还书意泡读者编号;|图书编号:返回|澳者编函I读者姓名I圄书由号I圄书名称1国书堂别I
39、图书价格I借出日期1归:*|m+查询按钮对应的代码如下:m_ctrList.DeleteAllItems();m_ctrList.SetRedraw(FALSE);UpdateData(TRUE);CStringstrSQL;if(m_strCode.IsEmpty()&m_strType.IsEmpty()strSQL="select*fromreaderinfo"elseif(m_strType.IsEmpty()strSQL.Format("select*fromreaderinfowherecode='%s'",m_str
40、Code);elseif(m_strCode.IsEmpty()strSQL.Format("select*fromreaderinfowheretype='%s'",m_strType);elsestrSQL.Format("select*fromreaderinfowherecode='%s'andtype='%s'",m_strCode,m_strType);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打开数
41、据库失败!","数据库错误",MB_OK);return;inti=0;CStringstrTime;while(!m_recordset.IsEOF()m_ctrList.InsertItem(i,m_recordset.m_code);m_ctrList.SetItemText(i,1,m_recordset.m_name);m_ctrList.SetItemText(i,2,m_recordset.m_sex);m_ctrList.SetItemText(i,3,m_recordset.m_type);strTime.Format("%d-%d-%
42、d",m_recordset.m_reg_date.GetYear(),m_recordset.m_reg_date.GetMonth(),m_recordset.m_reg_date.GetDay();m_ctrList.SetItemText(i,4,strTime);m_ctrList.SetItemText(i,5,m_recordset.m_dept);m_ctrList.SetItemText(i,6,m_recordset.m_phone);m_ctrList.SetItemText(i,6,m_recordset.m_address);m_ctrList.SetIte
43、mText(i,6,m_recordset.m_brief);i+;m_recordset.MoveNext();m_recordset.Close();m_ctrList.SetRedraw(TRUE);4书库管理书库管理主要有三个模块构成:新书入库,图书查询,图书挂失点击新书入库菜单登记按钮对应的代码如下:UpdateData();if(m_strBookCode.IsEmpty()AfxMessageBox("请输入图书编号!");return;if(m_strBookType.IsEmpty()AfxMessageBox("请输入图书类型!");
44、return;if(m_strBookName.IsEmpty()AfxMessageBox("请输入图书名称!");return;最新范本,供参考!CStringstrSQL;CTimecurrent=CTime:GetCurrentTime();strSQL.Format("select*frombookinfowherecode='%s'",m_strBookCode);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打开数据库失败!"
45、;,"数据库错误",MB_OK);return;if(m_recordset.GetRecordCount()!=0)m_recordset.Close();AfxMessageBox("该图书编号已经存在,请重新输入!");return;m_recordset.Close();if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE)MessageBox("打开数据库失败!","数据库错误",MB_OK);return;添加图书记录m_recordset.AddNew();m_re
46、cordset.m_code=m_strBookCode;m_recordset.m_name=m_strBookName;m_recordset.m_type=m_strBookType;m_recordset.m_in_date=current;m_recordset.m_price=m_strPrice;m_recordset.m_press=m_strPress;m_recordset.m_writer=m_strWriter;m_recordset.m_brief=m_strBrief;m_recordset.m_isBorrow=FALSE;m_recordset.Update()
47、;m_recordset.Close();/更新列表CStringstrTime;m_ctrList.Insertitem(0,m_strBookCode);m_ctrList.SetitemText(0,1,m_strBookName);最新范本,供参考!m_ctrList.SetItemText(0,2,m_strBookType);m_ctrList.SetItemText(0,3,m_strWriter);m_ctrList.SetItemText(0,4,m_strPress);m_ctrList.SetItemText(0,5,m_strPrice);strTime.Format(
48、"%d-%d-%d",current.GetYear(),current.GetMonth(),current.GetDay();m_ctrList.SetItemText(0,6,strTime);m_ctrList.SetItemText(0,7,m_strBrief);更新界面显示m_strBookType=_T("");m_strBookCode=_T("");m_strBookName=_T("");m_strPrice=_T("");m_strPress=_T(""
49、;);m_strWriter=_T("");m_strBrief=_T("");UpdateData(FALSE);点击图书查询菜单圄书信息堂洵111图书褊号,|四询|显而全部|返回|即1.图书类别作者出版社II科书你懵登记日期查询代码如下:UpdateData();CStringstrSQL;if(m_strCode.IsEmpty()strSQL="select*frombookinfo"elsestrSQL.Format("select*frombookinfowherecode='%s'",
50、m_strCode);RefreshData(strSQL);点击图书挂失菜单挂失代码如下:UpdateData();if(m_strCode.IsEmpty()AfxMessageBox("请输入待挂失的图书编号!");return;CStringstrSQL;strSQL.Format("select*frombookinfowherecode='%s'",m_strCode);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)AfxMessageBox("打开数据库失败
51、!");return;if(m_recordset.GetRecordCount()=0)AfxMessageBox("没有找到该图书!");m_recordset.Close();return;m_recordset.Delete();m_recordset.Close();AfxMessageBox("图书挂失成功!",MB_ICONINFORMATION);m_ctrList.DeleteAllItems();更新界面显示m_strCode=_T("");UpdateData(FALSE);5读者管理读者管理模块分为三
52、部分:读者登记,读者信息查询,读者注销点击读者登记菜单确定按钮对应代码:UpdateData();检查输入数据if(m_strCode.IsEmpty()AfxMessageBox("请输入读者编号!");return;if(m_strName.IsEmpty()AfxMessageBox("请输入读者姓名!");return;if(m_strType.IsEmpty()AfxMessageBox("请输入读者类别!");return;保存读者信息到数据库中CStringstrSQL;strSQL.Format("selec
53、t*fromreaderinfowherecode='%s'",m_strCode);CReaderInfoSetrs;if(!rs.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打开数据库失败!","数据库错误",MB_OK);return;if(rs.GetRecordCount()!=0)rs.Close();AfxMessageBox("该编号已经存在,请重新输入!");return;rs.Close();if(!rs.Open(AFX_DB_USE_
54、DEFAULT_TYPE)MessageBox("打开数据库失败!","数据库错误",MB_OK);return;添加读者记录rs.AddNew();rs.m_address=m_strAddress;rs.m_brief=m_strBrief;rs.m_code=m_strCode;rs.m_dept=m_strDept;rs.m_name=m_strName;rs.m_phone=m_strPhone;rs.m_reg_date=m_tmDate;rs.m_sex=m_strSex;rs.m_type=m_strType;rs.Update();rs
55、.Close();if(IDOK=AfxMessageBox("读者登记成功!是否登记下一个读者?",MB_OKCANCEL)return;CDialog:OnOK();点击信息查询菜单点击查询按钮,对应的代码如下:m_ctrList.DeleteAllItems();m_ctrList.SetRedraw(FALSE);UpdateData(TRUE);最新范本,供参考!CStringstrSQL;if(m_strCode.IsEmpty()&m_strType.IsEmpty()strSQL="select*fromreaderinfo"el
56、seif(m_strType.IsEmpty()strSQL.Format("select*fromreaderinfowherecode='%s'",m_strCode);elseif(m_strCode.IsEmpty()strSQL.Format("select*fromreaderinfowheretype='%s'",m_strType);elsestrSQL.Format("select*fromreaderinfowherecode='%s'andtype='%s'&
57、quot;,m_strCode,m_strType);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打开数据库失败!","数据库错误",MB_OK);return;inti=0;CStringstrTime;while(!m_recordset.IsEOF()m_ctrList.insertitem(i,m_recordset.m_code);m_ctrList.SetitemText(i,1,m_recordset.m_name);m_ctrList.SetItemTex
58、t(i,2,m_recordset.m_sex);m_ctrList.SetItemText(i,3,m_recordset.m_type);strTime.Format("%d-%d-%d",m_recordset.m_reg_date.GetYear(),m_recordset.m_reg_date.GetMonth(),m_recordset.m_reg_date.GetDay();m_ctrList.SetItemText(i,4,strTime);m_ctrList.SetItemText(i,5,m_recordset.m_dept);m_ctrList.SetItemText(i,6,m_recordset.m_phone);m_ctrList.SetItemText(i,6,m_records
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 证券公司围护桩施工合同
- 道路施工队合作协议
- 农村房屋拆迁补偿合同
- 剧院排水设施安装合同
- 培训零售环境防疫措施
- 医疗器械招投标规范解读
- 无抵押企业借款合同
- 通信设备质量管理办法
- 商业综合体二手房交易合同范文
- 制造执行系统操作与应用课件 3-4-2典型离散制造工艺
- 换药,拆线课件
- 生物武器1课件
- 家务劳动我能行-完整版课件
- 部编版二年级语文上册第9课-黄山奇石课件
- 国开电大 管理概论 形考任务一(画组织结构图)
- 七年级数学上册-找规律
- DB42T1319-2021绿色建筑设计与工程验收标准
- 市政给排水管道安装工程监理细则
- 结直肠的锯齿状病变及其肿瘤课件
- 《国家安全法》 详解课件
- 最新钠冷快堆中的结构材料课件
评论
0/150
提交评论