毕业设计(论文)基于JAVA语言的城市公交车查询系统设计.doc

上传人:仙人指路1688 文档编号:3979309 上传时间:2023-03-30 格式:DOC 页数:32 大小:1.86MB
返回 下载 相关 举报
毕业设计(论文)基于JAVA语言的城市公交车查询系统设计.doc_第1页
第1页 / 共32页
毕业设计(论文)基于JAVA语言的城市公交车查询系统设计.doc_第2页
第2页 / 共32页
毕业设计(论文)基于JAVA语言的城市公交车查询系统设计.doc_第3页
第3页 / 共32页
毕业设计(论文)基于JAVA语言的城市公交车查询系统设计.doc_第4页
第4页 / 共32页
毕业设计(论文)基于JAVA语言的城市公交车查询系统设计.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《毕业设计(论文)基于JAVA语言的城市公交车查询系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于JAVA语言的城市公交车查询系统设计.doc(32页珍藏版)》请在三一办公上搜索。

1、公交车查询系统秦金龙目录摘 要III1绪论12系统分析12.1可行性分析12.1.1技术可行性分析12.1.2经济可行性分析12.1.3 操作可行性分析22.1.4 时间可行性分析22.2需求分析22.2.1功能需求22.2.2数据需求22.2.3性能需求22.3 数据流图22.4 数据字典42.5 E-R图73. 总体设计83.1系统结构83.2功能模块设计83.3系统设计方案93.4数据库详细设计94.详细设计114.1数据库连接114.2 各功能模块设计与实现114.2.1用户查询系统模块114.2.2管理员管理模块134.3 人机界面设计155调试与测试175.1 调试175.2 测试

2、176.结论18结束语18参考文献19附录1用户手册20附录2源程序23摘 要我国城市公交乘客信息系统的发展处于一个较落后的水平,广大乘客可以获得信息的方式很少,为了解决这种问题,加快发展城市公交信息化,设计一个城市公交查询系统是具有一定实际应用意义的。在此背景下,我运用JAVA语言开发了一个城市公交查询系统。本论文首先考虑了公交运营的实际情况和不同公交乘客的实际要求,分析了此系统应该具有的功能;其次对系统的主要功能模块进行了详细地描述,其中主要包括查询模块(包括按线路查询、按站点查询和按两站点查询)和管理更新模块(包括公交站点管理和公交线路管理),最后结合系统开发阶段和调试阶段发现的问题,提

3、出了系统需要完善的地方,总结了开发此系统所取得经验和体会。本文从分析课题的题目背景、题目意义、题目要求等出发,分别从需求分析、总体设计、详细设计、测试等各个方面详细介绍了系统的设计与实现过程,最后对系统的完成情况进行了总结。关键词:站点;车次;查询;1绪论城市公交是专门服务于市民出行的客运企业。它是城市社会和经济活动的重要组成部分。伴随着国民经济和城市建设的快速发展,城市经济的繁荣,人口的增加,城市必须解决好人们出行的需求。城市公交直接关系着城市的经济发展和居民生活,对城市经济具有全局性、先导性的影响,城市公交以其方便、快捷、容量大而成为城市交通的主体。但是随着公交系统的庞大,人们很难得到准确

4、的公交信息,这样给一些人的出行就带来了不便。因此,急需一个方便、快捷的公交信息查询方式,本系统通过浏览器查询,实现中心控制、自动更新、更多的查询方式等等更多更强大的功能。根据课程设计任务书要求,本系统开发主要完成以下功能和性能。(1) 车次查询:能够查询该城市公交车每一条线路所经过的站点。(2) 站点查询:根据已知的站点查询出经过该站点的所有公交车线路。(3) 站站查询:根据你的出发地和想要到达的地点,可以经过一次的车次转化,找到最好的换车路线。(4) 车次调整:对公交车线路进行调整(新增、删除、修改)。2系统分析2.1可行性分析2.1.1技术可行性分析现在有很多程序语言和相应的开发工具都可以

5、适用于本系统的开发,例如VB、VC、C#、ASP、PHP、JAVA等,数据库有DB2、Oracle、Informix、SQL Server、ACCESS等,现在基本所有的软件程序都是用这些工具开发的,并且本人对这些语言和数据库的创建、连接、管理都有过实际的开发经验。由于JAVA和数据库SQL Server两项技术本人应用较为成熟,所以以本人现有能力可以完成系统设计。2.1.2经济可行性分析作为开发系统的一般配置,根据个人情况和资金情况,选择一台性能稳定、效率较高的计算机,现在的费用不会超过3000元。操作系统采用Windows xp,数据库采用功能强大并且稳定的SQL Server 2000,

6、开发工具选用JAVA,由于应用软件是免费的,且个人开发只需花费开发期间的生活费用300元左右,所以花费成本为3300元,由于所开发系统需求量较大,所以可以收回成本。由于开发周期不长,自身经济可以允许。2.1.3 操作可行性分析本系统的操作对象主要是在于广大的人民群众和公交车线路的管理者,所以不需要其他复杂的操作,只需要对其公交车的线路进行操作,所以本系统操作起来较为方便,并且可以顺利应用。2.1.4 时间可行性分析第一周把数据库建立完成并且将界面设计完成;第二周完成数据库与界面的连接并完成添加、修改、删除基本功能;第三周完成实验全部功能并检查验收,此外,完成课设报告。总体来说课设时间刚刚好。2

7、.2需求分析2.2.1功能需求本系统主要是对公交线路的线路进行查询的管理的系统。本系统需要有管理者动态更新公交线路的最新信息,并且能将所有信息从数据库中添加、修改和删除,利用报表功能将数据库中的若干项目的数据显示出来并且利用触发器将数据库中的若干信息的数值计算出来。数据要求有自动更新功能,显示最新的结果。还需要对普通用户有简单方便的站点查询、线路查询、换车查询等。2.2.2数据需求对于用户信息需要有所选择的查询方式建立不同的表,对于不同的表之间有关联的可以用视图。对于管理者需要管理者的用户名和密码。2.2.3性能需求本系统稳定性比较好、可靠性较高,只要操作正确就可以达到用户操作的目的要求,其次

8、本系统响应速度较快,只要对系统中的数据进行操作,操作后的结果就将在界面中显示出来。 2.3 数据流图数据流图是结构化系统分析的工具。它既可以表达数据在系统内部的逻辑流向及存储,又可以表达系统的逻辑功能和数据的逻辑变换。数据流图既能表达现行人工系统的数据流程和逻辑处理功能,也能表达自动化系统的数据流程和逻辑处理功能。数据流程有五种基本符号:外部项、数据流、处理逻辑(加工)、数据元素和数据存储。数据流图如图1、2所示。 图1用户使用数据流图图2管理者数据流图2.4 数据字典数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序源数据的目录。主动数据字典是指在对数据库或应

9、用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。(1)数据项名称:BUSID别名:公交车编号简述:公交车编号数据类型:可变字符型长度:50名称:Company别名:所属公司简述:所属公司数据类型:可变字符型长度:50名称:Price别名:票价简述:票价数据类型:可变字符型长度:50名称:WorkTime别名:工作时间简述:工作时间数据类型:可变字符型长度:50名称:NearBulid别名:临近建筑物简述:临近建筑物数据类型:可变字符型长度:50名称:UserID别名:管理者名称简述:管理者名称数据类型:可变字符型长度:50名称:

10、UserPassword别名:管理者密码简述:管理者密码数据类型:可变字符型长度:50名称:UpLine别名:上行线简述:上行线数据类型:可变字符型长度:100名称:DownLine别名:下行线简述:下行线数据类型:可变字符型长度:100名称:TypeLine别名:线路类型简述:线路类型数据类型:可变字符型长度:10011名称:Station别名:站点名简述:站点名数据类型:可变字符型长度:50 (2) 数据流数据流名称:用户查询公交线路记录信息简述:记录公交车线路查询的信息数据流组成:查询结果=线路+站点数据流名称:管理者修改公交线路信息记录简述:公交线路的基本信息数据流组成:管理者管理=管

11、理者管理的项目(3)处理逻辑条目处理逻辑名称:车次查询简述:根据公交线路查询该线路上的所有站点输入的数据流:公交车编号处理:根据编号查询输出的数据流:查询出该线路上的所有公交站点的记录处理逻辑名称:站站记录简述:根据两个站点查询出最佳的坐车路线输入的数据流:两个不同的站点处理:根据站点查找出最佳的线路输出的数据流:输出最佳的乘车路线处理逻辑名称:站点查询简述:根据站点查询出经过该站点的所有公交车编号输入的数据流:站点名称处理:根据站点查询公交车的编号输出的数据流:路过该线路的所有公交车编号 处理逻辑名称:临近查询简述:根据站点查询出经过该站点的有名建筑物输入的数据流:站点名称处理:根据站点查询

12、该站点附近的著名建筑物输出的数据流:该站点附近的著名建筑物(4)数据存储数据存储器名称:公交车线路的信息记录简述:记录公交车的站点、建筑物、时间等信息数据存储结构:公交车编号、公交车站点、票价、工作时间、临近建筑物、管理者用户名、管理者密码。关键字:公交车线路2.5 E-R图公交车管理系统的E-R图包括三个实体:线路实体,其中线路包括编号、所经路线、票价、营运时间。站点实体,其中包括站点名称和临近建筑物,管理员实体,其中包括用户名和用户名密码。 线路实体属性图,如图3所示图3 线路实体属性图站点实体属性图,如图4所示图4 站点实体属性图管理员实体属性图,如图5所示图5 管理员实体属性图以下为实

13、体属性ER图:图6 实体属性E-R图3. 总体设计3.1系统结构系统开发应用的是C/S 结构,C/S结构软件(即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。国内目前的大部分ERP(财务)软件产品即属于此类结构。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web

14、和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的CS体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。3.2功能模块设计 根据分析整个系统主要

15、划分为2个功能模块,用户使用查询模块和管理员管理木块,分别执行要求中的功能。数据管理中实现对公交车的线路进行站点查询、站站查询、线路查询和临近查询和管理者对公交车的线路进行修改、删除、新增功能。功能模块图如图6所示。图6功能模块图(1)管理员管理子模块实现对公交线路的路线进行增加、修改和删除功能。(2)用户查询子模块实现对公交线路中的线路查询、站点查询、站站查询和临近查询。3.3系统设计方案公交车管理系统是一个小型的数据库系统。所以这里我们选择SQL Server 数据库和JAVA技术进行开发。Microsoft SQL Server 是一种关系型数据库管理系统。首先建立SQL Server数

16、据库中的线路表其中包括车次编号、上行线、下行线和线路类型4中属性列,车次信息表其中包括车次编号、所属公司、票价和运营时间4种属性,站点信息表包括站点名和临近建筑物2种属性,管理员信息表包括用户名和密码两种属性。实现用户的使用和管理员的管理设计。然后对应填入数据并且通过触发器实现剩余时间等于计划时间减完成时间的功能。最后,在JAVA中编入程序实现要求。3.4数据库详细设计本节主要介绍后台数据库的结构设计。结构设计是重要阶段,是数据库设计的重要组成部分。下面给出下列表基本的数据结构。 管理员信息表主要记载管理员的用户名和密码 图7所示: 列 名数据类型NULL约 束说 明UserIDVarchar

17、(50)Not nullPrimarykey用户名UserPasswordVarchar(50)Not null密 码 图7 管理员信息表图线路表主要记载车次编号、上行线、下行线和线路类型。图8所示:列 名数据类型NULL约 束说 明BusIDVarchar(50)Not nullPrimarykey车次编号UpLineVarchar(100)Not null上行线DownLineVarchar(100)Not null下行线LineTypeVarchar(100)Not null线路类型图8 线路表表图车次信息表主要记载这次编号、所属公司、票价和运营时间。图9所示:列 名数据类型NULL约

18、束说 明BusIDVarchar(50)Not nullPrimarykey车次编号CompanyVarchar(50)所属公司 PriceVarchar(50)票 价 WorkTimeVarchar(50)运营时间图9 车次信息表表图站点信息表主要记载站点名和临近建筑物。图10所示:列 名数据类型NULL约 束说 明StationVarchar(50)Not nullPrimarykey站点名NearBuildVarchar(50)临近建筑物图10 站点信息表表图4.详细设计4.1数据库连接数据库连接首先创建Microsoft SQL Server数据源,然后安装server数据库驱动,接着

19、输入所建数据库名字和选择服务器local,之后一直点下一步,直到最后一步测试数据库连接是否成功,如成功点击确定,否则检验一下自己导入的数据库是否正确,再按如上操作进行连接。4.2 各功能模块设计与实现 4.2.1用户查询系统模块用户查询管理模块主要是对数据库中的公交线路基本信息进行线路查询、站点、站站查询和临近查询。建立用户查询管理模块时,首先建立一个新窗体,根据添加的数据库内容字段建立相应的文字,在文字下面建立相对应的文本框与字段一一对应,文本框内不与数据库进行连接。(1) 车次查询,在用户查询理界面中输入你想要查询的公交车线路次过程要判断是否存在改线路,存在就显示在对应的界面种,如果不存在

20、就提示你查询的线路不存在。如图11所示: 图11线路查询流程图(2) 站点查询,首先判断输入站点是否存在,如存在就输出经过该站点的所有公交车编号,如果不存在则输出你查询的站点不存在,请重新输入。如图12所示: 图12 站点查询流程图(3) 站站查询,首先判断输入的两个站点是否存在,如果都存在则根据线路和两个表所形成的视图来查询出最佳的换成路线,如果不存在则输出你输入的站点有有错误,请重新输入。如图13所示:图13站站查询流程图临近查询,首先判断输入站点是否存在,如存在就输出经过该站点的临近建筑物,如果不存在则输出你查询的站点不存在,请重新输入。如图13所示:图14临近查询流程图4.2.2管理员

21、管理模块管理员管理模块主要是对数据库中的公交车线路的基本信心进行添加、修改和删除。建立管理员管理理模块时,首先在VC中建立一个新窗体,根据添加的数据库内容字段建立相应的文字,在文字下面建立相对应的文本框与字段一一对应,文本框内不与数据库进行连接。(1) 添加操作,在管理员管理管理界面中公交车线路的信息,其中包括每一条公交车的编号和所经过的所有站点和该站点的临近建筑物,如图15所示:图15 添加公交车信息流程图 (2) 修改操作,首先输入公交车编号判断该编号是否存在,如存在就输入对应想要改的属性后,单击确定键,所改信息就添加到数据库表中,同时在界面中显示出来;否者弹出该编号不存在,如图16所示:

22、 图16 修改公交车线路流程图(3) 删除操作,首先找到要删除的编号或者站点,然后判断该编号或者站点是否存在,若存在就直接删除,否则弹出该编号或站点不存在,如图17所示:图17 删除站点和线路流程图4.3 人机界面设计界面的设计原则是让用户使用方便、快捷、高效,人机交互的模式人通过键盘输入信息,计算机显示信息。系统总界面包括用户的应用界面个管理者管理界面。用户应用界面包括站点查询、车次查询、站站查询和临近建筑物查询,而管理者界面包括管理者的登陆界面个管理者的管理管理界面,管理界面又包括添加、修改和删除。图18用户应用界面图19 管理员登陆界面图20 管理员管理界面5调试与测试5.1 调试调试是

23、软件开发过程中的一个重要环节,也是最复杂,对软件开发者者来说也是最艰巨的任务。调试的任务是及时改正测试过程中发现的软件错误。具体地说,调试过程由两个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。然后仔细研究推断代码以确定问题的原因,并设法改正。调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。本系统调试过程中遇到问题、原因和解决方法如下面介绍。(1) 程序不能运行编译正确,但程序不能运行,这是个逻辑错误,错误在于JAVA界面中涉及的变量类型与数据库相对应数据变量类型不一致,把它们改成一致的程序就能正

24、确运行了。(2) 数据库中要删除的属性列不能删除原因是该属性的约束条件没有删除。(3) 数据库连接测试失败原因是连接数据库所要用到的服务器选择错误。5.2 测试软件测试是软件生存期中的一个重要阶段,是软件质量保证的关键步骤从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程”。或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。测试数

25、据过程如下。(1) 可在用户应用模块中的进行车次查询,进入用户的界面,点击车次查询按钮,进入车次查询的界面,之后手动输入要查询的车次,就会显示出你所要查询的车次和经过的站点。 (2) 可在用户应用模块中进行临近查询,进入用户的界面,点击临近查询的按钮,进入临近建筑物查询的界面,之后任意输入一个在公交车信息表中存在的站点,就会显示出该站点附近的建筑物。(3) 可在管理员模块中进行删除线路操作,首先进入管理员登录界面,进入并获取管理员的权限,之后点击删除按钮,输入所要删除的公交车编号,点击确定,就会把该编号的公交车所经过的站点都删除掉。6.结论在本次软件综合课程设计我学到了一些以前所不会的知识点,

26、ado控件和dba数据源是实现sql数据库与vc界面进行连接必要因素。通过对dba数据源操作我们可以实现sql数据库与vc界面的连接,此外,我们通过ado控件可实现由于在vc界面中操作而改变的数据在sql数据库表中的数据可以随时随地相应改变。本次我课程设计顺利完成,题目所要求的功能也都一一实现,可以对数据库进行添加修改,删除以及其他查询结果。不过这个程序还有些不够完善,例如查询功能只能按学号查询而不能是按其它条件查询,此外还有就是只能对每个学生对某一门学科所进行的学习计划进行管理。结束语为期三个礼拜的软件综合课程设计实习终于顺利完成,在这期间我又愁苦又有快乐,同时我受益匪浅。我的快乐多于愁苦。

27、因为每个功能的实现都是我撒播汗水的收获,在这期中我感受到了成功的喜悦。每个子功能实现都是在铺垫成功的基石。在整个设计过程中,通过各种渠道获取资料。利用周末去大的书店查资料,把重要的东西记录下来,也去图书馆借了一些相关的参考资料,同时还充分利用网上资源查一些资料,最后再综合这些资料,结合VC、SQL进行具体的操作,使得我成功的完成了本次课设要求。我最大的收获是学会了体验自己独立完成事情的喜悦之情。与此同时我提高了自己编成的能力,学会了较多的编成技巧,并且融合了VC+和数据库知识,虽不是全部,但对我来说是质的飞跃。路漫漫其修远兮,吾将上下而求索。学习编程的路还很长,我将会更加努力的学习专业编程语言

28、语言,以便于我攀登编程的高峰。参考文献1 萨师煊,王珊. 数据库系统概论(第四版).北京:高等教育出版社,20062 孔凡航.Oracle 9i 中文版基础教程(第二版).北京:清华大学出版社,20073 孔鹏.Visual C+完全自学手册.北京:机械工业出版社,20074 杨继平,吴华.SQL Server 2000 自学教程.北京:清华大学出版社,20005 张海藩.软件工程导论M.北京:清华大学出版社,2003附录1用户手册点击运行用户使用的运行程序就会出现用户公交车线路查询系统初始界面。如图21所:图21 用户公交车查询系统初始界面点击任意带有查询的按钮,就将进入用户选择的界面,如点

29、击站站查询,就会出现站点到站点的界面,如图22所示:图22 站站查询的界面点击运行管理员管理的的运行程序首先会出现管理员登陆的首界面,如图23所: 图23管理员登陆的界面输入正确的用户名和密码,点击“登陆”按钮,就会进入管理员管理的界面。如图24所示:图24管理员管理的界面选择上面不同的按钮,就会对该公交系统经行操作,如点击“删除”按钮。就会删除站点或者临近的建筑物,如图25所示:图25管理员删除的界面附录2源程序 BOOL CDialogSTU:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization her

30、e/设置列表视图控件扩展风格m_grid.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);m_grid.InsertColumn(0,学号,LVCFMT_LEFT,100,0);m_grid.InsertColumn(1,姓名,LVCFMT_LEFT,100,0);m_grid.InsertColumn(2,性别,LVCFMT_LEFT,100,0);m_grid.InsertColumn(3,年龄,LVCFMT

31、_LEFT,100,0);m_grid.InsertColumn(4,班号,LVCFMT_LEFT,100,0);m_grid.InsertColumn(5,科目,LVCFMT_LEFT,100,0);m_grid.InsertColumn(6,计划天数,LVCFMT_LEFT,100,0);m_grid.InsertColumn(7,完成天数,LVCFMT_LEFT,100,0);m_grid.InsertColumn(8,剩余天数,LVCFMT_LEFT,100,0);CComboBox* combosex=(CComboBox*)(GetDlgItem(IDC_COMBO_STUSEX)

32、;combosex-AddString(男);combosex-AddString(女);m_pRecordset.CreateInstance(_uuidof(Recordset);m_pRecordsetSC.CreateInstance(_uuidof(Recordset);m_pRecordsetCLA.CreateInstance(_uuidof(Recordset);OpenSTUDENTS();OpenCLASSS();_variant_t var;CString str;tryif(!m_pRecordset-adoEOF)AddToGrid();m_pRecordset-Mo

33、veFirst();elseAfxMessageBox(Student表无数据!);m_btnQuery.EnableWindow(FALSE);/使控件无效m_btnDelete.EnableWindow(FALSE);m_btnModify.EnableWindow(FALSE);m_btnFirst.EnableWindow(FALSE);m_btnPre.EnableWindow(FALSE);m_btnNext.EnableWindow(FALSE);m_btnLast.EnableWindow(FALSE);m_btnOK.SetFocus();/使控件获得焦点catch(_com

34、_error *e)AfxMessageBox(e-ErrorMessage();return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CDialogSTU:OpenSTUDENTS()try m_pRecordset-Open(SELECT * FROM Student ORDER BY Sno DESC,theApp.m_pConnection.GetInterfacePtr(),adOpenDynami

35、c,adLockOptimistic,adCmdText);catch(_com_error *e)AfxMessageBox(e-ErrorMessage();void CDialogSTU:OpenCLASSS()try m_pRecordsetCLA-Open(SELECT Clno FROM Class ORDER BY Clno DESC,theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); catch(_com_error *e)AfxMessageBox(e-ErrorM

36、essage();void CDialogSTU:AddToGrid()while(m_pRecordset-adoEOF=0)m_grid.InsertItem(0,);/向列表视图中插入列m_grid.SetItemText(0,0,(LPCSTR)_bstr_t(m_pRecordset-GetCollect(Sno);m_grid.SetItemText(0,1,(LPCSTR)_bstr_t(m_pRecordset-GetCollect(Sname);m_grid.SetItemText(0,2,(LPCSTR)_bstr_t(m_pRecordset-GetCollect(Sse

37、x);m_grid.SetItemText(0,3,(LPCSTR)_bstr_t(m_pRecordset-GetCollect(Sage);m_grid.SetItemText(0,4,(LPCSTR)_bstr_t(m_pRecordset-GetCollect(Sclno);m_grid.SetItemText(0,5,(LPCSTR)_bstr_t(m_pRecordset-GetCollect(object);m_grid.SetItemText(0,6,(LPCSTR)_bstr_t(m_pRecordset-GetCollect(p1);m_grid.SetItemText(0

38、,7,(LPCSTR)_bstr_t(m_pRecordset-GetCollect(p2);m_grid.SetItemText(0,8,(LPCSTR)_bstr_t(m_pRecordset-GetCollect(p3);m_pRecordset-MoveNext();void CDialogSTU:OnClickList(NMHDR* pNMHDR, LRESULT* pResult) int pos=m_grid.GetSelectionMark(); m_StuID=m_grid.GetItemText(pos,0); m_StuName=m_grid.GetItemText(po

39、s,1);m_StuSex=m_grid.GetItemText(pos,2);CString StuAge=m_grid.GetItemText(pos,3);m_StuAge=atoi(StuAge); m_ClaID=m_grid.GetItemText(pos,4);m_object=m_grid.GetItemText(pos,5); CString p1=m_grid.GetItemText(pos,6);m_p1=atoi(p1);CString p2=m_grid.GetItemText(pos,7);m_p1=atoi(p2);UpdateData(false); _vari

40、ant_t var; CString str;UpdateData(true);trym_pRecordset-MoveFirst();while(!m_pRecordset-adoEOF)var=m_pRecordset-GetCollect(Sno); str=(LPCSTR)_bstr_t(var);if(atof(m_StuID)=atof(str) m_StuID=str; var=m_pRecordset-GetCollect(Sname); str=(LPCSTR)_bstr_t(var); m_StuName=str; var =m_pRecordset-GetCollect(

41、Sage); m_StuAge=var.iVal; var=m_pRecordset-GetCollect(Ssex); str=(LPCSTR)_bstr_t(var); m_StuSex=str; var=m_pRecordset-GetCollect(Sclno); str=(LPCSTR)_bstr_t(var); m_ClaID=str;var=m_pRecordset-GetCollect(object); str=(LPCSTR)_bstr_t(var); m_object=str;var =m_pRecordset-GetCollect(p1); m_p1=var.iVal; var =m_pRecordset-GetCollect(p2); m_p2=var.iVal; UpdateData(false);break;elsem_pRecordset-MoveNext();catch(_com_error *e)AfxMessageBox(e-ErrorMessage();*pResult = 0;完成日期:2011年11月27日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号