收藏 分销(赏)

火车订票管理信息数据库设计.doc

上传人:丰**** 文档编号:4129253 上传时间:2024-07-31 格式:DOC 页数:24 大小:134.54KB 下载积分:10 金币
下载 相关 举报
火车订票管理信息数据库设计.doc_第1页
第1页 / 共24页
火车订票管理信息数据库设计.doc_第2页
第2页 / 共24页


点击查看更多>>
资源描述
华科学院数据库课程设计 目 录 一、课题背景及意义…………………………………………………………………1 1.1概述…………………………………………………………………………1 1.2意义…………………………………………………………………………1 1.3数据库优势…………………………………………………………………1 1.4开发环境……………………………………………………………………2 二、需求分析…………………………………………………………………………3 2。1业务需求分析………………………………………………………………3 2。2功能需求……………………………………………………………………3 2。3数据需求……………………………………………………………………4 2。4性能需求……………………………………………………………………5 三、系统总体设计……………………………………………………………………6 3.1系统组成……………………………………………………………………6 3。2数据库设计…………………………………………………………………7 3。2。1概念结构设计…………………………………………………………7 3.2.2逻辑结构设计…………………………………………………………8 3.3 物理结构设计… …………………………………………………………9 3.3。1 确定数据库的存储结构……………………………………………10 3。3.2 调试分析……………………………………………………………10 3.4数据库模式定义…………………………………………………………20 四、系统详细设计及实现…………………………………………………………21 4.1模块简述…………………………………………………………………21 4.2模块设计…………………………………………………………………21 五、结束语…………………………………………………………………………32 六、参考文献………………………………………………………………………34 一、课题背景及意义 1。1概述 信息时代已经来临,信息处理的利器——计算机应用于火车站售票的日常管理为火车站售票的现代化带来了从未有过的动力和机遇,为火车站票务管理领域的飞速发展提供了无限潜力。采用计算机管理信息系统已成为火车站票务管理科学化和现代化的重要标志,给火车站票务带来了明显的经济效益和社会效益.采用数据技术建立的管理系统不仅能提高出售/预定车票的效率,还能减少错误发生的概率,方便用户的查询订购车票。降低工作人员的工作量,避免购票人员在车站无效的等票,可以调高购买者买到票的机率,这样的作用在春运期间最为显著,因为在春运的时候车站里许多人是在无效的等票,不仅造成车站里人员管理的困难,还使本可以买到票的人无辜浪费时间在侯票上.目前火车票的订购仅仅依靠手工操作,已现有的工作人员很难应付车票订购高峰时刻的大量数据处理问题,同时还会出现由此带来的旅客查询问题,导致火车误点情况.本次设计拟开发一个火车票订购系统,可以降低人工操作,提高工作效率,同时方便乘客查询订票. 1.2 意义 火车票订购一直是困扰我们的一个老问题,也是社会服务的一个难点,订票的查询以及车票信息的查询时期一个最基本的业务,从便面上看,这只是一个最简单的部分,但是它涉及到管理以及客户服务的多个方面,因此设计了本火车票订购系统来实现票务的查询. 1。3数据库优势 数据库管理的特点很多,它比传统的数据管理拥有很多优点。以下就是数据库的优势。一、数据结构化。所谓“整体”结构化是指在数据库中的数据不再仅仅针对某一个应用,而是面向全组织的;不仅数据内部是结构化的,而且整体也是结构化的,数据之间是有联系的。二、数据的共享性高,冗余度低,易扩充。数据共享可以减少数据的冗余,节约存储空间。数据共享还能够避免数据之间的不相容性和不一致性.三、数据独立性高。包括物理独立性和数据的逻辑独立性。物理的独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的.逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。四、数据是由DBMS统一管理和控制的。包含(1)数据的安全性保护(2)数据的完整性检查(3)并发控制(4)数据库恢复 1。4开发环境 工具软件利用Visio2007和SQL Sever2000数据库来开发这个火车票订购系统 二、需求分析 在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统,使整个系统的功能更加详细易于理解,同时易于实现系统的整体设计。本系统分为二个功能,分别是用户管理和车次/车票管理,其所能实现的功能: 1、 实现用户登录、用户添加。 2、 实现对车次的删除和车次基本信息的添加. 3、 实现售票的基本管理。 4、 实现对车次基本信息的查询. 2.1业务需求分析 从实际角度出发,对于用户要提供方便快捷的车票查询和订票服务,对于车站工作人员,则是要能够方便明朗的对车次信息进行增删修改操作和车票的订售操作,提高车次的编组效率,是车次资源得到充分利用,并可以提高车票的出售效率降低工作人员的工作量。 2.2功能需求 在数据操作界面需要有用户登录窗口和车次信息操作窗口,这需要有实现用户登录的功能和车次查询、添加、车票出售的功能。这是火车订票系统的基本功能,只有实现了这几个功能一个火车订票系统才能开始运作,在本系统中实现了用户的登录添加和车票的基本信息操作. 功能列表 编号 功能名称 功能说明 1.1 用户登录 用户输入用户名和密码登录系统 1.2 用户添加 增加用户和对所添加的用户权限进行设定 2。 1 添加车次 添加车次的基本信息 2.2 删除车次 删除车的基本信息 3.1 售票 对车票销售/预定的操作 4.1 车次查询 对车次基本信息的查询 2。3数据需求 系统处理的对象有: 用户信息:用户名、用户密码、用户权限。 车次信息:车次号、票价、起始站、目的站、开车时间、到站时间、实时座位数。 系统处理如图: 用户 查询、售票、增删车次 登陆添加 车次、车票管理登记帐 火车预定售票系统登记帐 登陆添加数据 处理数据 登陆通知 处理通知 添加用户通知 2。1系统底层数据流图 用户 车票查询、预定、出售 添加删除处理 车票登记帐 车次基本信息登记帐 车票处理通知 车次信息处理通知 车票数据 添加删除数据 2.2用户系统与车次信息系统间数据流图图 数据项名 数据项含义 存储结构 IDC—1 username 用户名 Char(30) IDC—2 Password 登录密码 Char(30) IDC—3 Radio 用户权限 Char(30) IDC-4 Trainno 车次号 Char(30) IDC—5 Price 票价 Money(8) IDC—6 Availableseat 座位数 Int(4) IDC-7 Startstation 起始站 Char(30) IDC-8 Endstation 目的站 Char(30) IDC—9 Starttime 发车时间 Char(30) IDC—10 Arrivetime 到站时间 Char(30) 2。3数据字典 2.4性能需求 为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。 1.准确性和及时性 系统处理的准确性和及时性是系统的必要性能.系统应能及时而且准确的根据用户权限及所输入的信息做出响应。由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。 2.安全性 网上订票系统中涉及到的数据是客运公司相当重要的信息,系统要保证用户的权限,对于车次等信息用户只享有查询服务,不得更改;系统还要提供方便的手段供系统维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。同时系统还要保证对数据库进行及时更新,保证数据一致。 三、系统总体设计 3。1系统组成 系统开发的总体目标是实现火车票订/售票管理的系统化和自动化,保证车票售出和车次信息管理的正确无误,确保车票和车次管理的有效.在本系统中分为两个子系统,分别是用户子系统和车次信息子系统,主要任务是对用户信息、车次信息、车票信息等操作及外理。本系统为C/S结构、运行平台为微软vc++6。0以上版本。以及SQL Sever2000以上版本.下图3.1为系统功能结构图: 车票预订 删除车次 火车订票系统 用户管理 用户登录 添加用户 添加车次 车次查询 车次信息管理 3.1功能模块图 3.2数据库设计 3.2.1概念结构设计 概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程。根据之前的分析,数据库应该主要的实体有用户和车票信息。 经过分析得到的实体关系图、E—R图如下: 车次信息 车号 出发地 目的地 发车日期 开出时间 到达时刻 座位类型 剩余票数 票价 查询 用户信息 订票 退票 订票信息 身份证号 车号 订单号 发车日期 订购日 订购票数 总价 退票方式 查询方式 身份证号 用户名 性别 电话 订票方式 n m 1 1 n 火车票订购E—R图 3.2.2逻辑结构设计 逻辑结构的任务就是把概念结构设计阶段设计好的基本E—R图转化为与选用DBMS产品所支持的数据模型有相符合的逻辑结构。 将上图的E—R图转化为以下的关系模型。关系的码用横线标出。 用户(身份证号、用户名、性别、电话) 订票信息(订单号、身份证号、车号、发车时间、订购日期、订购票数) 车次(车号、发车日期、出发地、目的地、开出时刻、到达时刻、剩余票数、票价、座位类型) 以上是实体以及其属性。 查询(身份证号、车号、发车日期、查询方式) 订票(订单号、订票方式) 退票(订单号、退票方式) 以上是联系及其属性。 火车站网上订票系统数据库中各个表格的设计结果如表2.1——表2.6所示.每个表格表示在数据库中的一个表。 表2—1车次信息 字段名 数据类型 是否可空 说明 车号 char(10) NOT NULL (主键) 出发地 char(20) NOT NULL 目的地 char(20) NOT NULL 发车日期 Datetime NOT NULL (主键) 开出时刻 Datetime NOT NULL 到达时刻 Datetime NOT NULL 剩余票数 int NOT NULL 票价 Char(10) NOT NULL 表2-2订票信息 字段名 数据类型 是否可空 说明 订单号 Char(10) NOT NULL (主键) 身份证号 Char(18) NOT NULL (外键) 车号 char(10) NOT NULL (外键) 发车日期 datetime NOT NULL (外键) 订购日期 datetime NOT NULL 订购票数 Int NOT NULL 总价 Money NOT NULL 表2-3用户表 字段名 数据类型 是否可空 说明 身份证号 char(20) NOT NULL (主键) 用户名 char(20) NOT NULL 性别 Char(2) 电话 char(20) 表2-4 订票表 字段名 数据类型 是否可空 说明 订单号 char(20) NOT NULL (主键) 订票方式 Char(20) 表 2—5 退票表 字段名 数据类型 是否可空 说明 订单号 char(20) NOT NULL (主键) 订票方式 Char(20) 表2—6查询表 字段名 数据类型 是否可空 说明 身份证号 char(20) NOT NULL (主键) 车号 char(10) NOT NULL (主键) 发车日期 Datetime NOT NULL (主键) 查询方式 char(20) 3。3物理结构设计 数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库系统. 对于数据库查询事务,需要得到如下信息: l 查询的关系。通过连接查询可以将车次和用户之间互联;通过订票和退票可以将用户和订票信息互联,从而将每个表联系在一起,构成一个相关联的数据库。 l 查询条件所涉及到的属性。查询涉及到的属性是(身份证号、车号、发车日期);订票涉及到的属性是(订票号);退票所涉及到的属性(订票号)。 l 连接条件所涉及到的属性(身份证号、订单号、车号—发车日期、订单号)。 对于数据更新,需要得到如下信息: l 被更新的关系. l 每个关系上的更新操作条件所涉及的属性。 l 修改操作要改变的属性值。 需要注意的是,数据库上运行的事务会不断的变化、增加或减少,以后需要根据上述设计信息的变化调整数据库的物理结构。 3.3.1 确定数据库的存储结构 1、确定数据的存放位置 存放于C盘,并且分配2M的空间,而且文件的存储空间可以随着数据库的增大而增大,即文件增长不受限制。文件的增长按百分比进行,增长百分比为10%. 2、确定系统配置 数据库可以公共访问,可以打开任意个数据库对象,内存分配高于2M的内存空间. 3.3。2调试分析 在原有系统的数据有一小部分已经输入到了数据库后,就可以开始对数据库系统进行联合调试,这又成为数据库的试运行。 运行前先要对数据库进行备份,如下: 再进行简单的数据库操作,如: 建立基本表 SQL语句为: create table 订票信息 (订单号 char(10) primary key, 身份证号 char(20), 车号 char(10), 发车日期 datetime, 订购日期 datetime, 订购票数 int, 总价 int, foreign key (身份证号) references 用户(身份证号), foreign key (车号) references 车次(车号), foreign key (发车日期) references 车次(发车日期)); 运行结构截图: 其余的建表类似,在此不一一列举. 修改基本表 ①向用户表增加“地址”列,数据类型为字符串型 SQL语句为:alter table 用户 add 地址 char(20); 运行结构截图: ②将用户表中的电话的数据类型改为变长字符串型 SQL语句为:alter table 用户 alter column 电话 varchar(20); 运行结果截图: 数据查询 ①查询身份证号为370782198911273462的个人信息,SQL语句为: select * from 用户 where 身份证号=370782198911273462; ②查询全体用户的身份证号,SQL语句为: select 用户名,身份证号 from 用户; 运行结果截图: ③查询车票价格低于100元的车次: SQL语句为: select 车号 from 车次 where 票价<100; 运行结果截图为: ④查询王姓客户的信息 SQL语句为: select * from 用户 where 用户名 like ’张%’; 运行结果截图: ⑤按总票价的升序将订单号排列 SQL语句为: select 订单号,总价 from 订票信息 order by 总价 asc; 运行结果截图: ⑥查询从北京出发的所有车次的总票价 SQL语句为: select sum(票价) from 车次 where 出发地='北京’; 运行结果截图: ⑦求乘坐车号大于一次的车号 SQL语句为: select 车号 from 订票信息 group by 车号 having count(*)〉=2; 运行结果截图: ⑧连接查询 :查询身份证号为216972195412194262乘客的车次信息 SQL语句为: select 车次.* from 用户,车次,查询 where 用户。身份证号=查询.身份证号 and 车次。车号=查询。车号 and 车次.发车日期=查询。发车日期 and 用户。身份证号=’216972195412194262’; ⑨嵌套查询:查询与李明同乘一列火车的旅客的身份证号 SQL语句: select 身份证号 from 订票信息 where 车号 in (select 车号 from 订票信息,用户 where 订票信息。身份证号=用户。身份证号 and 用户名=’李明'); 数据更新 ① 插入数据 向车次表添加一组数据:“T26” 、“2010—12-15"、“青岛”、“北京"、 “22:10”、“次日06:54”、“硬座”、42、118,SQL语句为: insert into 车次 values (’T26',2010—12—15,’青岛','北京’, ’22:10','次日06:54’,42,118,'硬座'); 运行结构截图: ‘ ②修改数据 由于雪天路滑将发车日期为2010—12—13车次为T25的到达时可改为次日09:20 SQL语句为: update 车次 set 到达时刻=’次日09:20' where 车号='T25’ and 发车日期='2010-12-13’; ③删除数据 乘客348742196610025432由于个人原因不能乘坐当日车次,他选择退票,请为其删除信息记录。 SQL语句为: delete from 用户 where 身份证号='348742196610025432’; delete from 订票,订票信息 where 订票.订单号=订票信息.订单号 and 身份证号=’348742196610025432'; 运行结果截图: 运行结果中已经不含乘客348742196610025432的信息了 视图 ①建立选择用网络查询车次用户的视图。 SQL语句为: create view net as select 身份证号 from 查询 where 查询方式='网络'; ②更新视图 将身份证号为370782198911273462的乘客改为370782198911277611 SQL语句为: update net set 身份证号=’37078219891127611’; ③删除视图 SQL语句为: drop view net; 总之,视图的操作与表的操作基本一致,在此不必赘述。 经过一系列验证数据库的调试正常,可以进行数据库的操作。 3。4数据库模式定义 列名 数据类型 取值约束 可否为空 说明 Trainno Char(30) 可 车次号 Startstation Char(30) 可 起始站 Endstation Char(30) 可 目的站 Starttime Char(30) 可 发车时间 Arrivetime Char(30) 可 到站时间 Price Money(8) 可 票价 Availableseat Int(4) 可 实时座位数 四、系统详细设计及实现 4。1模块简述 本火车管理系统重要的所有模块主要是分为用数据库的类三个部分,下面对三个个部分进行再分类,共有9个模块。 模块类别 模块编号 模块名称 公共模块 模块功能 用户 T-—1 USER 用户登录模块 T——2 ADDUSER 添加用户 车次信息 T——3 SEARCH 查询车次 T——4 INSERT 插入车次 T——5 Delete T—-6 DELETENO 删除车次号 T——7 SELL 售票 T-—8 TICKETSELL 连接模块 T-—9 ADOConn 连接数据库 4.2模块设计 下面给出模块的背景,设计思路,算法,界面以及关键代码,比较简单的模块就仅给界面设计以及算法设计,比较复杂的模块会给出相应的数据库有关触发器,存储过程和视图的设计。而本系统重的模块主要有一下几个: 1、用户模块 User 模块是公共模块,车次信息和连接模块也用到User,模块。user_类是为系统用户表创建的一个类:要利用ADO访问数据库,类的成员变量对应表的列,类的成员函数对应表的操作。但本系统不是为每一个表都创建了类。 1、其页面设计: 给用户一个好的登录界面,提供友善的人机界面,为用户的使用提供方便.同时也是为后面用户操作其他功能提供了权限依据,避免出现用户权限的不确定造成整个系统不同模块的错误操作,使整个订票业务遭到破坏。 用户模块代码: void USER::OnOK() { // TODO: Add extra validation here UpdateData(1); if(m_user==""||m_psd=="”) { MessageBox(”请填好用户名或密码!"); } else { ADOConn adoconn; adoconn。OnInitADOConn();//调试 _bstr_t sqltemp; sqltemp="select * from aaaaa where username like ’”+m_user+”%’and password like '"+m_psd+”%'”; _RecordsetPtr m_precordset; m_precordset=adoconn。GetRecordSet(sqltemp); adoconn.ExecuteSQL(sqltemp); if(m_precordset-〉adoEOF==0)//记录集没有移动到最后 { MessageBox(”登入成功"); GetDlgItem(ID_SEARCH)-〉EnableWindow(FALSE); } if(m_precordset->adoEOF!=0) { // GetDlgItem(ID_ADDUSER)—〉EnableWindow(FALSE); } adoconn.ExitConnect(); //CDialog::OnOK(); } } 2、车次信息模块 车次添加实现了车次能跟上需求的变化,使得系统管理员能根据需要添加车次,让售票员能为购买者提供优质的服务。 车次添加程序: void INSERT::OnOK() { // TODO: Add extra validation here UpdateData(1); if(m_Trainno=="" & m_Startstation=="" & m_Endstation=="” & m_Starttime=="” & m_Arrivetime=="" & m_Price=="”) { MessageBox(”请完善空格”); } else { ADOConn adoconn; adoconn.OnInitADOConn();//调试 _bstr_t sqltemp; sqltemp="insert into sale values(’”+m_Trainno+"’,’"+m_Startstation+"’,'”+m_Endstation+"’,’”+m_Starttime+"',’”+m_Arrivetime+"',20,’”+m_Price+"')"; //sqltemp=”insert into employees values(’"+employee_id+"’,'”+employee_name+"’,’"+sex+"’,’”+department_id+”',’"+title_id+”’,’”+work_time+”') ”; //(trainno,startstation,endstation,starttime,arrivetime,availableseat,price) //_RecordsetPtr m_precordset; //m_precordset=adoconn。GetRecordSet(sqltemp); adoconn.ExecuteSQL(sqltemp); MessageBox(”插入成功”); adoconn.ExitConnect(); CDialog::OnOK(); } } 3、删除车次 删除车次的操作是对添加车次操作的补充,有了删除操作才能让车次添加车次顺利的执行. 删除车次代码: void DELETENO::OnOK() { // TODO: Add extra validation here UpdateData(1); ADOConn adoconn; adoconn。OnInitADOConn();//调试 _bstr_t sqltemp; sqltemp=”delete from sale where trainno=’"+m_Trainno+”’”; //_RecordsetPtr m_precordset; //m_precordset=adoconn。GetRecordSet(sqltemp); adoconn.ExecuteSQL(sqltemp); MessageBox("删除成功”); adoconn。ExitConnect(); //CDialog::OnOK(); } 4、车票出售/预定 在这个部分模块中可以实现对不同车次车票的出售/预定功能,并且在页面对话框中能知道车次的实时信息,以便确定该车次的车票还能不能向外面出售或预定。 车票出售/预定代码: void TICKETSELL::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(TICKETSELL) // NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(TICKETSELL, CDialog) //{{AFX_MSG_MAP(TICKETSELL) // NOTE: the ClassWizard will add message map macros here //}}AFX_MSG_MAP END_MESSAGE_MAP() 5、车次查询 此模块是面向用户使用的,用户在购买或预定车票前可以通过该对话框页面实现不同车次在不同站之间的详细查询,可提高用户得到票的概率,提高用户在购买或预定票的效率. 车次查询: void SEARCH::OnOK() { UpdateData(1); int j=0; int nItem; //清原来的列表纪录 ADOConn adoconn; adoconn。OnInitADOConn(); m_list。DeleteAllItems(); _bstr_t sql; // 利用数据库,重新填充纪录 // sql="exec search_by_employeename '"+m_name+”’”; //sql="exec search_by_employeename ’”+m_name+"%’"; //sql="select * from employeejiansuo where employee_name like '”+m_name+”%’"; //根据记录集,填充列表框 if(m_Startstation == "" && m_Endstation == ”” && m_Trainno == ”") { MessageBox(”请填写车次或起始和终点站”); } else if( m_Startstation == "" && m_Endstation == ”” && m_Trainno != ”” ) { sql = "select * from sale where trainno='"+m_Trainno+"'"; _RecordsetPtr m_precordset; m_precordset=adoconn.GetRecordSet(sql); while(m_precordset->adoEOF==0)//记录集没有移动到最后 { nItem=m_list.InsertItem(j,(char *)(_bstr_t)m_precordset—>GetCollect("trainno”)); m_list。SetItemText(nItem,1,(char *)(_bstr_t)m_precordset->GetCollect("startstation”)); m_list.SetItemText(nItem,2,(char*)(_bstr_t)m_precordset—〉GetCollect("endstation")); m_list.SetItemText(nItem,3,(char *)(_bstr_t)m_precordset->GetCollect(”starttime”)); m_list.SetItemText(nItem,4,(char *)(_bstr_t)m_precordset—>GetCollect(”arrivetime”)); m_list.SetItemText(nItem,5,(char *)(_bstr_t)m_precordset-〉GetCollect(”availableseat”)); m_list.SetItemText(nItem,6,(char *)(_bstr_t)m_precordset—〉GetCollect(”price")); //下移一条记录 m_precordset->MoveNext(); } adoconn。ExitConnect(); } else if( m_Startstation != "” && m_Endstation != "” && m_Trainno != ”” ) { sql = ”select * from sale where trainno=’”+m_Trainno+"’ and startstation='"+m_Startstation+"' and endstation=’"+m_Endstation+”'"; _RecordsetPtr m_precordset; m_precordset=adoconn。GetRecordSet(sql); while(m_precordset-〉adoEOF==0)//记录集没有移动到最后 { nItem=m_list.InsertItem(j,(char *)(_bstr_t)m_precordset—>GetCollect("trainno”)); m_list。SetItemText(nItem,1,(char *)(_bstr_t)m_precordset-〉GetCollect(”startstation”)); m_list.SetItemText(nItem,2,(char *)(_bstr_t)m_precordset—〉GetCollect("endstation")); m_list。SetItemText(nItem,3,(char *)(_bstr_t)m_precordset—>GetCollect(”starttime")); m_list。SetItemText(nItem,4,(char *)(_bstr_t)m_precordset-〉GetCollect("arrivetime")); m_list。SetItemText(nItem,5,(char *)(_bstr_t)m_precordset—>GetCollect("availableseat")); m_list。SetItemText(nItem,6,(char *)(_bstr_t)m_precordset->GetCollect("price")); //下移一条记录 m_precordset-〉MoveNext(); } adoconn.ExitConnect(); } else if(m_Startstation != "” && m_Endstation != ”" && m_Trainno == "") { sql = "select * from sale where startstation=’”+m_Startstation+”' and endstation=’”+m_Endstation+"’”; _RecordsetPtr m_precordset; m_precordset=adoconn.GetRecordSet(sql); while(m_precordset-〉adoEOF==0)//记录集没有移动到最后 { nItem=m_list.InsertItem(j,(char *)(_bstr_t)m_precordset—>GetCollect(”trainno")); m_list。SetItemText(nItem,1,(char *)(_bstr_t)m_precordset—〉GetCollect("startstation”)); m_list。SetItemText(nItem,2,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服