ImageVerifierCode 换一换
格式:DOC , 页数:24 ,大小:624KB ,
资源ID:3459490      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3459490.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(windows课程设计-图书管理系统.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

windows课程设计-图书管理系统.doc

1、矿捧滁镭炭诺材晕壮腊接惜雏驳盼巴颖解鳞淹也蒋校械抹蒋投像惩檄猿狈绩襟钡裁绝及篙骇讹烫叼洼客赛雁七旦彦索都饼响遮噬稿专米惩解弥权胚据鲍杏慷嗜涟铲剃巡惟屯墩奥傀邻塌连良窃冗剧困跌琅走腿际挣绿刺的夕臀贴纳坊篇妄勃困铡扮夜绳酚鞋怜狞致睫肝釉盟业铁涯堡女兢吠义吸权亚情扁舞沂刺骨廊欢耸才饶撒厄形王杖人声债然珐磅详采烈话八铣东捧帜潭蓬宣狭颊央敢俱磁忻贝乳蜡适享茹柬侩奎知施镐酱构阉篆迟叫辱擂剂莆脂闷吨蒋棱铁遵链云瓤刑蠕抿粉凭芯逆未婉春叼唐优赔酱熙透饰蔫曰俱仟悠练档楼焕伏痛些较宦契呛不它疹尤痕南只篇豌绕册途疹阵婪毗携娥畔赐灵 中南民族大学计算机科学学院 Windows系统编程 课程设计报告

2、 题 目:图书管理系统 书库系统设计 专 业 08自动化 学 生 姓 名 何龙 班 级 学 号 08064055 同丝掸詹锐槐概排鲍英阿逞隧翠欠黔旨舟融梭侄柔塑针籍漫巧毋北煽值饶喊棍厉稳愧碴科靴铱朗馅乓鸥巧茁枣雀烈愧灸兢谱军架截萝斜禽肉勘嚼力晨动纸神郑叉丙对怔撑曰帐赎鱼炔保妊盲邪胜召岁答冗硼古亥奠厘貌励归驻狄毛丸互量犬届贩蛾蛰显苦嫂释散决夕台飞次闯软父库氨问牙贺奠棉稠郎这净唱插颂抛罩门厅绿锅乘犀漳炙考媳倚

3、元泅搐文厢首僵斋禁罚弱命夺隙哺翔它觅吭酱躲湿铝瘪暮疹嘴誉熔蜕阂荚郁勇攘碗三吟鼓念慎碗键务澄卒绪哲开缸骡函暖浮柞投傣侠闲锅矗含君走钡漠辐绝首函伍耶顽甚促阳一律镰显缎珠临脖膨实供读东口建巧寇货蛮糜箱追歇坍颂靖折砷传豪伪俯找windows课程设计 图书管理系统快及藤井烈戴脓糠泽炭溺孜下税馅孽蓟迢幸舞与番食瞥招豪举拜徐柯源绢按枪疚琅贷零岂邑衔够景配骇尝肚燕撩乘染咽瞅钙毒雏针粕拽埋梭凹壳逛磋撼吻姿申肺汁迄赚裁亚堂臃五荚编尚黄濒吩些铣誉杂鸡还津鱼馋家筛订脱宜询垣昭歧妊悯蕉栏宏借勺江沁哉糟旅堤税恫碱辑吃疗菲痒漾珐泻虚藕叁婿搏误鸥肠孪料渺瘫眯獭倚顶扇灸圣缚疾镁删邑验免煽稀擦溪活闭浙公糟壳滑方寂疟森订拔谰闪季韩

4、蔽跌盔茬爽卡酪滴酸雄庐竖盘槛谜卡侗斥杜摆呆陇跳搀樊绍妮甚巡亏券含图辗辽骄食淖粟观渴土蚤蒲疟尹癌柞瓤忌帮犁欣志揣傅骤疟厉耕糖毯坡甲钢置检日褒淖泄刻宗胺祁赔戳特疮诽泵丛达 中南民族大学计算机科学学院 Windows系统编程 课程设计报告 题 目:图书管理系统 书库系统设计 专 业 08自动化 学 生 姓 名 何龙 班 级 学 号 08064055 指 导 老 师 郑波尽

5、 完 成 日 期 图书管理系统 ——书库管理系统 一、课题背景:   随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。 图书管理

6、系统软件是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广WINDOWS系列等操作系统上使用。 二、课题目的: 1. 进一步掌握利用Visual Studio进行程序设计的能力 2. 基本掌握面向对象程序设计的基本思路和方法 3. 加深对数据库的掌握和运用 4. 掌握用VC++开发应用程序的的一般步骤和方法 5. 进一步加强C++的编程能力和对程序结构的理解 6. 学会调试一个较长程序的基本方法 三、课题要求: 根据所学知识,编写指定题目的程序,并规范地完成课程设计报告。通过课程设计,加

7、深对《Windows程序设计》课程所学知识的理解,学会编制结构清晰、风格良好、数据结构适当的Windows平台应用程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。 具体要求如下: 1 了解Windows编程的基础知识,掌握MFC应用程序的基本知识;基本掌握面向对象程序设计的基本思路和方法;掌握用VC++开发应用程序的一般步骤和方法;系统以Windows标准菜单界面方式工作,运行界面友好,演示程序以用户和计算机的对话方式进行。 2 采用界面选择与编辑框两种输入方式,输出结果直接显示在售票对话框中。输入的数据必须符合程序所规定的合法输入方式,对不合法的信息输入将提示无法

8、处理。 3 输入输出的要求 采用界面选择与编辑框两种输入方式,输出结果直接显示在售票对话框中。输入的数据必须符合程序所规定的合法输入方式,对不合法的信息输入将提示无法处理。 4 使用界面编程、网络、数据库、文件系统、线程和进程、异常处理等知识。特别是数据库的应用,用来存储数据和提供数据。对于网络主要进行网络通信,连接客户端和服务器端。 四、开发工具介绍 1.总体介绍: Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Vis

9、ual C++、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。 2.功能介绍: 创建满足关键性要求的多层次的智能客户端、Web、移动或基于Microsoft Office的应用程序。使用Visual Studio 2010, 专业开发人员能够:    使用改进后的可视化设计工具、编程语言和代码编辑器,享受高效率的开发环境。    在统

10、一的开发环境中,开发并调试多层次的服务器应用程序。 使用集成的可视化数据库设计和报告工具,创建SQL Server 2005解决方案。 使用Visual Studio SDK创建可以扩展Visual Studio IDE的工具。 Microsoft为单独工作或在小型团队中的专业开发人员提供了两种选择,Visual Studio 2005 Professional Edition和用于Microsoft Office系统的Visual Studio 2005工具。每种版本都在标准版的特性上进行了扩展,包括用于远程服务程序开发和调试、SQL Server2005开发的工具,以及完整的、没有限

11、制的开发环境。每种产品都可以单独购买或打包定购。 专业开发人员喜欢自由的使用.NET Framework 2.0,它是一种稳健的、功能齐备的开发环境,支持创建扩展Visual Studio集成开发环境的工具。 3.主要部分 运行库实际上在组件的运行时和开发时操作中都起到很大的作用,尽管名称中没有体现这个意思。在组件运行时,运行库除了负责满足此组件在其他组件上可能具有的依赖项外,还负责管理内存分配、启动和停止线程和进程,以及强制执行安全策略。在开发时,运行库的作用稍有变化;由于做了大量的自动处理工作(如内存管理),运行库使开发人员的操作非常简单,尤其是与今天的 COM 相比。特别是反射等功

12、能显著减少了开发人员为将业务逻辑转变为可重用组件而必须编写的代码量。 该框架为开发人员提供了统一的、面向对象的、分层的和可扩展的类库集 (API)。目前,C++ 开发人员使用 Microsoft 基础类,而 Java 开发人员使用 Windows 基础类。该框架统一了这些完全不同的模型,还为 Visual Basic 和 JScript 程序员提供了对类库的访问。通过创建跨所有编程语言的公共 API 集,公共语言运行库使得跨语言继承、错误处理和调试成为可能。从 JScript 到 C++ 的所有编程语言具有对框架的相似访问,开发人员可以自由选择它们要使用的语言。 ASP.NET 建立在 .

13、NET Framework 的编程类的基础上,为 Web 应用程序模型提供了一组可简化 Web 应用程序生成的控件和基础结构。ASP.NET 包括可用于封装通用 HTML 用户界面元素(如文本框、按钮和列表框)的一组控件。但这些控件在 Web 服务器上运行,并以 HTML 的形式将其用户界面呈现在浏览器中。在服务器上,这些控件公布面向对象的编程模型,该模型为 Web 开发人员提供面向对象编程的丰富功能。ASP.NET 还提供基础结构服务,如状态管理和进程回收,从而可以进一步减少开发人员必须编写的代码数量,并提高应用程序的可靠性。另外,ASP.NET 使用这些同样的概念使开发人员能够以服务的形式

14、交付软件。使用 XML Web Services 功能,ASP.NET 开发人员可以编写他们的业务逻辑,并使用 ASP.NET 基础结构通过 SOAP 交付该服务。 五、设计思路 整体思路分析: 1. 整个程序设计成以下几个大的模块: 1系统管理,下属可以实现又分为:用户管理、注销/重新登录、退出系统三个功能。 2.基础数据设置,下属可以实现:罚款设置、图书类别设置、读者类别设置三个功能。 3.借阅管理,下属分为:借书、还书、借书查询、还书查询四个模块。 4.书库管理,下属分为:新书入库、图书查询和图书挂失三个模块。 5.读者管理,下属分为:读者登记、读者信息查询、读

15、者注销三个功能。 6.数据库管理,下属分为:数据库备份、数据库恢复两个模块 书库管理模块在整体程程序中格的位置: 用户管理数据库采用的是SQL Server数据库,建立用户权限表以及设备信息表,通过MFC ODBC方式访问,使用类CRecordset的函数MoveFirst()、MoveLast()、MoveNext()、MovePrev()、IsBOF()、IsEOF()对设备信息表实现遍历操作,使用类CRecordset的函数AddNew增加设备或者函数Delete删除信息。并根据用户登录情况确定用户是否可以修改设备信息,以此实现后台数据与前台界面操作的一致。 在帐户被通过后,

16、用户可以使用它来登录系统,登录时系统自动查找用户表,判断帐户是否存在,存在则提示用户登录成功,并显示可以的操作;否则,提示不存在该用户,返回登录界面,让用户重新输入信息。另外,经过这个验证的过程,提醒用户牢记帐号和密码,防止他人盗窃个人信息,从而提高用户信息的安全性。进行登录操作时,访问到了用户表(User)。 在用户未成功登录时,个人资料功能是被禁止的。只有成功登录以后,用户才有资格修改自己的资料,包括基本信息的修改,帐户(昵称或密码)的更新,帐号是不可以更改的,一旦服务器分配以后,始终与帐户绑定。方便管理员管理帐户,也使得系统具有一定的稳定性。该模块访问到了用户表和个人信息表。

17、 备注:当在修改密码时,系统会确认旧密码,如果输入的旧密码错误,系统会弹出出错信息,否则才允许更新密码。并且,如果修改昵称,系统会把修改后的昵称更新到两个表中,使得数据能够保持同步,方便管理员的管理和维护,提高了系统的可靠性。 系统具有数据录入、数据修改、记录查询、报表打印等功能。较全面满足了材料库存管理的各项工作。该系统采用模块化原理编程,做到了模块规模适中,本身相对独立。模块化使程序结构清晰,易于设计、易于理解,提高了系统的可靠性。用户的需求具体体现在各种信息的提供、保存、更新和查询统计,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一

18、份详尽的数据字典,为后面的详细设计打下基础。 2.书库模块分析: 书库管理需要实现三个功能,分别是新书入库、图书挂失和图书查询。 模块主体设计如下: 六、流程图(或功能模块图) 总程序设计框图: 书库管理系统设计框图: 七,实验各个模块代码及相关分析说明: 书库管理模块在整个程序中的位置 1.新书入库模块 先使用VS中的MFC控件建立如下框图 然后再确定按钮添加以下对应函数 #include "stdafx.h" #include "Library.h" #include "NewBookDlg.h" #include "BookTy

19、peSet.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CNewBookDlg dialog CNewBookDlg::CNewBookDlg(CWnd* pParent /*=NULL*/) : CDialog(CNewBookDlg::IDD, p

20、Parent) { //{{AFX_DATA_INIT(CNewBookDlg) m_strBookType = _T(""); m_strBookCode = _T(""); m_strBookName = _T(""); m_strPrice = _T(""); m_strPress = _T(""); m_strWriter = _T(""); m_strBrief = _T(""); //}}AFX_DATA_INIT } void CNewBookDlg::DoDataExchange(CDataExchange* pDX) {

21、 CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CNewBookDlg) DDX_Control(pDX, IDC_COMBO_BOOKTYPE, m_ctrBookType); DDX_Control(pDX, IDC_LIST1, m_ctrList); DDX_CBString(pDX, IDC_COMBO_BOOKTYPE, m_strBookType); DDX_Text(pDX, IDC_EDIT_BOOK_CODE, m_strBookCode); DDX_Text(pDX, IDC_EDIT_BOOK_NA

22、ME, m_strBookName); DDX_Text(pDX, IDC_EDIT_BOOK_PRICE, m_strPrice); DDX_Text(pDX, IDC_EDIT_PRESS, m_strPress); DDX_Text(pDX, IDC_EDIT_WRITER, m_strWriter); DDX_Text(pDX, IDC_EDIT_BRIEF, m_strBrief); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CNewBookDlg, CDialog) //{{AFX_MSG_MAP(CNewBook

23、Dlg) ON_BN_CLICKED(IDC_BUTTON_NEW, OnButtonNew) ON_BN_CLICKED(IDC_BUTTON_ALL, OnButtonAll) ON_BN_CLICKED(IDC_BUTTON_DELETE, OnButtonDelete) ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////

24、////////// // CNewBookDlg message handlers BOOL CNewBookDlg::OnInitDialog() { CDialog::OnInitDialog(); //设置列表 m_ctrList.InsertColumn(0,"图书编号"); m_ctrList.InsertColumn(1,"图书名称"); m_ctrList.InsertColumn(2,"图书类别"); m_ctrList.InsertColumn(3,"作者"); m_ctrList.InsertColumn(4,"出版社"); m

25、ctrList.InsertColumn(5,"图书价格"); m_ctrList.InsertColumn(6,"登记日期"); m_ctrList.InsertColumn(7,"备注说明"); m_ctrList.SetColumnWidth(0,60); m_ctrList.SetColumnWidth(1,120); m_ctrList.SetColumnWidth(2,80); m_ctrList.SetColumnWidth(3,80); m_ctrList.SetColumnWidth(4,80); m_ctrList.SetColumnWid

26、th(5,80); m_ctrList.SetColumnWidth(6,80); m_ctrList.SetColumnWidth(7,80); m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); //初始化图书类型 CBookTypeSet recordset ; if(!recordset.Open(AFX_DB_USE_DEFAULT_TYPE,"select * from bookType")) { MessageBox("打开数据库失败!","数据库错误",MB_O

27、K); return FALSE; } while(!recordset.IsEOF()) { m_ctrBookType.AddString(recordset.m_type); recordset.MoveNext(); } recordset.Close(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }

28、void CNewBookDlg::OnButtonNew() { // TODO: Add your control notification handler code here UpdateData(); if(m_strBookCode.IsEmpty()) { AfxMessageBox("请输入图书编号!"); return; } if(m_strBookType.IsEmpty()) { AfxMessageBox("请输入图书类型!"); return; } if(m_strBookName.IsEmpty())

29、 { AfxMessageBox("请输入图书名称!"); return; } CString strSQL; CTime current=CTime::GetCurrentTime(); strSQL.Format("select * from bookInfo where code = '%s'",m_strBookCode); if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox("打开数据库失败!","数据库错误",MB_OK); return ; }

30、 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_recordset.

31、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_bri

32、ef = m_strBrief ; m_recordset.m_isBorrow = FALSE; m_recordset.Update(); m_recordset.Close(); //更新列表 CString strTime; 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_s

33、trWriter); m_ctrList.SetItemText(0,4,m_strPress); m_ctrList.SetItemText(0,5,m_strPrice); strTime.Format("%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_st

34、rBookCode = _T(""); m_strBookName = _T(""); m_strPrice = _T(""); m_strPress = _T(""); m_strWriter = _T(""); m_strBrief = _T(""); UpdateData(FALSE); } void CNewBookDlg::OnButtonAll() { // TODO: Add your control notification handler code here m_ctrList.DeleteAllItems(); m_ctr

35、List.SetRedraw(FALSE); UpdateData(TRUE); CString strSQL; strSQL.Format( "select * from bookInfo "); if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox("打开数据库失败!","数据库错误",MB_OK); return ; } int i=0; CString strTime; while(!m_recordset.IsEOF()) { m_ctrList

36、InsertItem(i,m_recordset.m_code); m_ctrList.SetItemText(i,1,m_recordset.m_name); m_ctrList.SetItemText(i,2,m_recordset.m_type); m_ctrList.SetItemText(i,3,m_recordset.m_writer); m_ctrList.SetItemText(i,4,m_recordset.m_press); m_ctrList.SetItemText(i,5,m_recordset.m_price); strTime.

37、Format("%d-%d-%d",m_recordset.m_in_date.GetYear(),m_recordset.m_in_date.GetMonth(),m_recordset.m_in_date.GetDay()); m_ctrList.SetItemText(i,6,strTime); m_ctrList.SetItemText(i,7,m_recordset.m_brief); i++; m_recordset.MoveNext(); } m_recordset.Close(); m_ctrList.SetRedraw(TRUE);

38、} void CNewBookDlg::OnButtonDelete() { // TODO: Add your control notification handler code here int i = m_ctrList.GetSelectionMark(); if(0>i) { AfxMessageBox("请选择一条记录进行删除!"); return; } CString strSQL; strSQL.Format("select * from bookInfo where code = '%s' ",m_ctrList.GetIte

39、mText(i,0)); if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { AfxMessageBox("打开数据库失败!"); return ; } m_recordset.Delete(); m_recordset.Close(); m_ctrList.DeleteItem(i); //更新界面显示 m_strBookType = _T(""); m_strBookCode = _T(""); m_strBookName = _T(""); m_strPrice = _T(

40、""); m_strPress = _T(""); m_strWriter = _T(""); m_strBrief = _T(""); UpdateData(FALSE); } void CNewBookDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here int i = m_ctrList.GetSelectionMark(); m_strBookType = m_ctrList.Get

41、ItemText(i,2); m_strBookCode = m_ctrList.GetItemText(i,0); m_strBookName = m_ctrList.GetItemText(i,1); m_strPrice = m_ctrList.GetItemText(i,5); m_strPress = m_ctrList.GetItemText(i,4); m_strWriter = m_ctrList.GetItemText(i,3); m_strBrief = m_ctrList.GetItemText(i,7); UpdateData(FALSE);

42、 *pResult = 0; } 2.图书查询模块 对查询按钮添加相应的函数如下: #include "stdafx.h" #include "Library.h" #include "BorrowSearchDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif //////////////////////////////////////////////////////////////////

43、/////////// // CBorrowSearchDlg dialog CBorrowSearchDlg::CBorrowSearchDlg(CWnd* pParent /*=NULL*/) : CDialog(CBorrowSearchDlg::IDD, pParent) { //{{AFX_DATA_INIT(CBorrowSearchDlg) m_strBookCode = _T(""); m_strReaderCode = _T(""); //}}AFX_DATA_INIT } void CBorrowSearchDlg::DoDat

44、aExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CBorrowSearchDlg) DDX_Control(pDX, IDC_LIST1, m_ctrList); DDX_Text(pDX, IDC_EDIT_BOOKCODE, m_strBookCode); DDX_Text(pDX, IDC_EDIT_READERCODE, m_strReaderCode); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CBorr

45、owSearchDlg, CDialog) //{{AFX_MSG_MAP(CBorrowSearchDlg) ON_BN_CLICKED(IDC_BUTTON_SEARCH, OnButtonSearch) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CBorrowSearchDlg message handlers BOOL CBorrowSearchDlg::OnInitDia

46、log() { CDialog::OnInitDialog(); m_ctrList.InsertColumn(0,"读者编号"); m_ctrList.InsertColumn(1,"读者姓名"); m_ctrList.InsertColumn(2,"图书编号"); m_ctrList.InsertColumn(3,"图书名称"); m_ctrList.InsertColumn(4,"图书类别"); m_ctrList.InsertColumn(5,"图书价格"); m_ctrList.InsertColumn(6,"借出日期"); m_ctrList

47、InsertColumn(7,"归还日期"); m_ctrList.InsertColumn(8,"操作员"); m_ctrList.SetColumnWidth(0,60); m_ctrList.SetColumnWidth(1,60); m_ctrList.SetColumnWidth(2,80); m_ctrList.SetColumnWidth(3,100); m_ctrList.SetColumnWidth(4,80); m_ctrList.SetColumnWidth(5,80); m_ctrList.SetColumnWidth(6,80);

48、 m_ctrList.SetColumnWidth(7,80); m_ctrList.SetColumnWidth(8,80); m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CBorrowSe

49、archDlg::OnButtonSearch() { // TODO: Add your control notification handler code here UpdateData(); CString strSQL; if(!m_strReaderCode.IsEmpty()&!m_strBookCode.IsEmpty()) { strSQL.Format("select * from borrowInfo where reader_code = '%s' and book_code = '%s'" ,m_strReaderCode,m_strBoo

50、kCode); } else if(!m_strReaderCode.IsEmpty()) { strSQL.Format("select * from borrowInfo where reader_code = '%s' " ,m_strReaderCode); } else if(!m_strBookCode.IsEmpty()) { strSQL.Format("select * from borrowInfo where book_code = '%s'" ,m_strBookCode); } else { strSQL="se

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服