![[理学]《物流信息系统》实验指导书_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/a45e9cb0-f40b-492f-88db-bbfe524f6dae/a45e9cb0-f40b-492f-88db-bbfe524f6dae1.gif)
![[理学]《物流信息系统》实验指导书_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/a45e9cb0-f40b-492f-88db-bbfe524f6dae/a45e9cb0-f40b-492f-88db-bbfe524f6dae2.gif)
![[理学]《物流信息系统》实验指导书_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/a45e9cb0-f40b-492f-88db-bbfe524f6dae/a45e9cb0-f40b-492f-88db-bbfe524f6dae3.gif)
![[理学]《物流信息系统》实验指导书_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/a45e9cb0-f40b-492f-88db-bbfe524f6dae/a45e9cb0-f40b-492f-88db-bbfe524f6dae4.gif)
![[理学]《物流信息系统》实验指导书_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/a45e9cb0-f40b-492f-88db-bbfe524f6dae/a45e9cb0-f40b-492f-88db-bbfe524f6dae5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.物流信息系统实验指导书郭 璘 编制宁波工程学院交通与物流学院:15目 录目 录实验一 Access2003数据库基础与项目实训1实验目的:1实验内容:1实验课时安排:11.1 Access 2003数据库环境和数据库基本操作21.1.1 启动Access200321.1.2 建立库与表31.1.3 修改表结构和表内容41.2订单管理系统数据库设计与数据表操作61.2.1 订单管理系统数据库设计61.2.2 订单管理系统数据表操作81.3订单管理系统简单SQL数据库操作101.3.1 数据更新101.3.2 数据插入111.3.3 数据删除111.3.4简单SQL查询121.4订单管理系统复杂
2、SQL数据库操作131.4.1使用聚合函数实现数据统计131.4.2多个表联合查询15实验二 VC+面向对象程序设计及项目实训16实验目的:16实验内容:16实验课时安排:162.1 Visual C+ 6.0集成开发环境172.1.1 启动Visual C+ 6.0172.1.2 创建对话框MFC应用程序182.2 订单管理系统实训项目界面设计202.2.1 带菜单项的对话框应用程序设计202.2.2 订单管理系统界面设计222.2.3 为订单管理系统的菜单项添加消息处理代码24实验三 VC+Access管理信息系统初步开发26实验目的:26实验内容:26实验课时安排:263.1 在Visu
3、al C+ 6.0中使用ODBC方式访问并显示数据库273.1.1 设置后台数据源273.1.2 添加网格控件DBGrid用于显示数据库内容283.1.3 添加远程数据访问控件Microsoft RemoteData Control303.1.4 通过DBGrid控件和RDC控件显示数据库内容313.2 在Visual C+ 6.0中使用ADO方式控制和更新数据库373.2.1 添加订单管理系统二级菜单项的对话框和消息处理函数373.2.2 订单管理系统产品添加功能实现423.2.3 订单管理系统产品删除功能实现443.2.4 订单管理系统产品修改功能实现463.3 订单管理系统的实现493.
4、3.1订单管理系统的系统登录功能实现493.3.2订单管理系统的其他功能实现54物流信息系统实验指导书实验一 Access2003数据库基础与项目实训实验目的:熟悉和了解Access 2003数据库管理系统操作环境,结合订单管理系统实训项目,掌握在Access2003中进行SQL数据库查询的各种基本操作。实验内容:1、熟悉Access2003软件操作环境;2、掌握在Access2003中新建数据库、新建表及表结构设计、新建窗体及利用窗体录入数据、新建报表及新建页等基本操作;3、结合订单管理系统实训项目,掌握在Access2003中通过SQL语句进行数据表建立与删除、数据插入、数据更新、单个表数
5、据查询等的基本操作方法。实验课时安排:共4课时,其中:1课时用于熟悉Access 2003数据库环境和数据库基本操作;2课时结合订单管理系统进行数据库表设计和表建立,通过SQL进行各种数据库基本操作,包括表建立与删除、数据插入、数据更新、单个表数据查询等;1课时用于复杂SQL查询,如多个表联合数据查询、查询统计等。1.1 Access 2003数据库环境和数据库基本操作1.1.1 启动Access2003 图1-1 启动Access2003图1-2 进入Access2003操作环境1.1.2 建立库与表图1-3 新建空数据库并命名为db1.mdb图1-4 使用设计器创建表图1-5 建立学生表、
6、字段和主关键字,并保存为“学生信息表”1.1.3 修改表结构和表内容右键单击“学生信息表”,点击“设计视图”,修改表结构,选择“插入行”,增加了一个字段“学院”,保存表结构。 图1-6 修改表结构 表内容可通过两种方式进行操作,既可以通过左键双击“学生信息表”插入记录,也可以通过窗体插入记录。图1-7 通过数据表视图修改表内容从左边对象中选择“窗体”,点击右边的“使用向导创建窗体”,选中学生信息表中全部字段,点击完成。 图1-8 通过窗体修改表内容1.2订单管理系统数据库设计与数据表操作1.2.1 订单管理系统数据库设计 图1-9 订单管理系统数据表结构1、新建“订单管理”数据库,新建“产品”
7、表。表既可以通过设计视图建立(见1.1节),也可以通过SQL语句建立。SQL建表步骤如下:首先,从左边对象中选择“查询”,点击右边的“在设计视图中创建查询”,关闭“显示表”,点击完成;点击菜单栏最左边的“SQL”,启动SQL查询操作窗口(如图1-10);然后,通过create建表语句建立“产品”表(如图1-11左);最后,单击工具栏中的“运行”按钮执行该SQL语句。保存该查询或直接退出,打开表结构如图1-11右。 图1-10 启动SQL查询操作窗口 图1-11 建立“产品”表SQL语句: create table 产品 (产品ID integer primary key, 产品名称 text,
8、 产品单价 money)2、修改“产品”表,添加和删除一个“供货商”字段 图1-12 添加一个“供应商”字段SQL语句: alter table 产品 add 供应商 text (20) 图1-13 添加 “供应商”字段SQL语句: alter table 产品 drop 供应商3、创建“订单”表 图1-14 创建“订单”表SQL语句: create table 订单 (订单ID integer primary key, 客户ID integer, 产品ID integer, 数量 integer, 销售价格 money, 合计 money)4、创建“客户“表 图1-15 创建“客户”表SQL
9、语句:create table 客户 (客户ID integer primary key, 客户名称 text, 客户地址 text)1.2.2 订单管理系统数据表操作分别左键双击“产品”表、“客户”表、“订单”表添加如下记录: 图1-16 在产品表和订单表添加记录1.3订单管理系统简单SQL数据库操作1.3.1 数据更新启动SQL查询操作窗口(如图1-10),通过update语句更新订单中的合计字段。图1-17 更新订单表中的合计字段属性值SQL语句: update 订单 set 合计=数量*销售价格1.3.2 数据插入启动SQL查询操作窗口(如图1-10),通过insert语句在产品表中插
10、入一条记录。图1-18在产品表中插入一条新记录SQL语句: insert into 产品(产品ID, 产品名称, 产品单价) values(11, “猕猴桃”, 15)1.3.3 数据删除启动SQL查询操作窗口(如图1-10),通过delete语句在产品表中删除一条记录。 图1-19 在产品表中删除一条记录SQL语句: delete from 产品 where 产品ID=111.3.4简单SQL查询 图1-20 在产品表中查询部分字段SQL语句: select 产品名称, 产品单价 from 产品图1-21 在产品表中查询所有字段SQL语句: select * from 产品 图1-22 在产
11、品表中查询不同的产品单价值SQL语句: select distinct 产品单价 from 产品 图1-23 在产品表中查询产品单价小于10的产品SQL语句: select * from 产品 where 产品单价<10图1-24 按产品单价降序输出SQL语句: select * from 产品 order by 产品单价desc 图1-25在产品表中查询产品单价为10或15或20的产品SQL语句: select * from 产品 where 产品单价 in (10, 15, 20)1.4订单管理系统复杂SQL数据库操作1.4.1使用聚合函数实现数据统计 图1-26在产品表中统计产品单
12、价大于10的数量SQL语句: select count(*) as Num from 产品 where 产品单价>10 图1-27在产品表中统计最高的产品单价SQL语句: select max(产品单价) as 最高单价 from 产品 图1-28在产品表中统计平均的产品单价SQL语句: select avg(产品单价) as 平均价格 from 产品图1-29在产品表中查询高于平均单价的产品,并按降序排列SQL语句: select产品名称, 产品单价 from 产品 where (产品单价> (select avg(产品单价) from 产品) order by 产品单价 des
13、c 图1-30在订单表中查询高于平均销售价格的订单,并按降序排列SQL语句: select订单ID, 销售价格 from 订单 where (销售价格> (select avg(销售价格) from 订单) order by 销售价格 desc1.4.2多个表联合查询 图1-31实现输出所有“订单”表中与“产品ID”相对应的“产品名称”记录SQL语句: select订单.订单ID, 产品.产品名称 from 产品, 订单 where 产品.产品ID=订单.产品ID图1-32实现连接“产品”和“订单”表,输出相同产品ID的记录SQL语句: select产品.*, 订单ID, 客户ID, 数
14、量, 销售价格, 合计 from 产品, 订单 where 产品.产品ID=订单.产品ID order by 产品.产品ID物流信息系统实验指导书实验二 VC+面向对象程序设计及项目实训实验目的:熟悉Visual C+ 6.0集成开发环境,了解VC面向对象程序设计思想、掌握简单的面向对象程序设计编程及VC界面设计。实验内容:1、熟悉Visual C+ 6.0集成开发环境;2、熟悉对话框应用程序设计;3、结合订单管理系统实训项目进行程序界面设计。实验课时安排:共2课时,其中:用于熟悉Visual C+ 6.0集成开发环境和订单管理系统的界面设计。2.1 Visual C+ 6.0集成开发环境2.
15、1.1 启动Visual C+ 6.0图2-1 启动Visual C+ 6.0图2-2 进入VC操作环境2.1.2 创建对话框MFC应用程序 创建对话框MFC应用程序的步骤如下: (1)选“File”|“New”菜单命令,新建Visual C+项目,在“Project”选项卡中,选择“MFC AppWizard(exe)”选项,并命名为“MFCDialog”,如图2-3所示。图2-3创建“MFCDialog”项目(2)MFC的应用程序向导比较多,有6个步骤,但是如果创建基于对话框的应用程序,在第1步选择“Dialog based”单选按钮即可。(3)单击“Finish”按钮,直接结束MFC的应
16、用程序向导。开发的工作界面如图2-4所示。按下F5键编译并运行该项目,可得到图2-5所示的运行结果。图2-4 对话框应用程序工作区界面图2-5对话框应用程序的界面2.2 订单管理系统实训项目界面设计2.2.1 带菜单项的对话框应用程序设计按照2.2.1 创建对话框MFC应用程序的步骤,创建一个基于对话框的应用程序,并命名为“Order_MIS”(如图2-6)。图2-6 创建基于对话框的应用程序Order_MIS在VC菜单栏中选择“Insert”-“Resource”,选择资源类型“Menu”,点击“New”(如图2-7),在左边的Resource视图中即可看到新加入的菜单(如图2-8)。图2-
17、7 插入菜单项图2-8 添加了菜单项的资源窗口然后,将菜单与应用程序主窗口连接起来,步骤如下:(1)在ResourceView面板中,双击Dialog资源中的IDD_ORDER_MIS_DIALOG,弹出对话框编辑窗口(如图2-9)。(2)在对话框的任何一个空白域单击鼠标右键,然后在弹出的快捷菜单中选择Properties命令,弹出Dialog Properties对话框(如图2-10),可以修改对话框的样式等内容。在对话框的Menu组合框中选择IDR_MENU1,可将菜单与应用程序主窗口连接。 图2-9 对话框编辑窗口图2-10 Dialog Properties 对话框2.2.2 订单管理
18、系统界面设计(1)在ResourceView面板中,双击Dialog资源中的IDD_ORDER_MIS_DIALOG,编辑修改对话框界面,删除“确定”和“取消”按钮,将静态文本框中的文本修改为“欢迎使用订单管理系统”,右键单击对话框将对话框标题改为“订单管理系统”(如图2-11)。图2-11 订单管理系统对话框设计(2)在ResourceView面板中,双击Menu资源中的IDR_MENU1,开始编辑IDR_MENU1菜单;双击最左边的菜单项,将Caption的内容改为“客户管理”,双击下拉菜单项,分别添加“客户查询”、“客户添加”、“客户删除”和“客户修改”。依次类推,完成其他菜单项的编辑(
19、如图2-12)。(3)执行应用程序(Ctr+F5),可看到订单管理系统的运行界面(如图2-13)。图2-12订单管理系统菜单项设计图2-13 编译运行后得到的订单管理系统界面2.2.3 为订单管理系统的菜单项添加消息处理代码(1)在ResourceView面板中,双击Menu资源中的IDR_MENU1,右键点击任意菜单项,选择ClassWizard,启动MFC ClassWizard。弹出Adding a class窗口,选择一个存在的类,在Class name下拉列表框中选择COrder_MISDlg类。(2)在Object IDs中选择一个菜单项如“退出”(ID为ID_Exit),在Mes
20、sages栏中双击COMMAND,弹出Add Member Function对话框,单击“OK”按钮接收默认的函数名为OnExit。(3)在ClassView面板中,展开COrder_MISDlg类视图(如图2-14),即可看到OnExit函数,双击OnExit可添加消息处理代码。图2-14展开COrder_MISDlg类视图(4)在OnExit()函数中添加一行代码:COrder_MISDlg:OnCancel(); /退出对话框(5)在编译运行后,执行菜单栏中的“退出”,程序会退出。(6)同理,可为菜单栏中任意菜单项添加消息处理函数。25物流信息系统实验指导书实验三 VC+Access管理
21、信息系统初步开发实验目的:初步掌握综合运用Visual C+ 6.0和Access2003进行数据库编程和物流信息系统初步开发的基本技术和思想。实验内容:1、在Visual C+ 6.0中通过ODBC(开发数据库互联)方式访问并显示Access2003数据库内容;2、在Visual C+ 6.0中通过ADO(ActiveX Data Objects)方式访问并控制Access2003数据库内容;3、实现订单管理系统实训项目的部分代码,如产品管理(包括产品查询、添加、删除和修改等)、系统登录等。实验课时安排:共6课时,其中:2课时用于通过ODBC方式访问并显示数据库;2课时用于通过ADO方式访问
22、并控制数据库;2课时用于订单管理系统部分代码的操作。3.1 在Visual C+ 6.0中使用ODBC方式访问并显示数据库3.1.1 设置后台数据源本节采用ODBC(开发数据库互联)接口同Access 2003数据源相连,并将数据库中的记录数据通过网格的形式显示给用户。在开始编制程序之前首先要通过控制面板-管理工具的ODBC数据源设置我们待操作的后台Access数据源,建立名称为"OrderMIS"的用户DSN,并将其指向db1.mdb。 图3-1 启动ODBC数据源管理器 图3-2 设置名为OrderMIS的ODBC数据源3.1.2 添加网格控件DBGrid用于显示数据库
23、内容由于默认情况下VC+6.0控件工具箱中没有DBGrid网格控件,故需要手动添加ActiveX Control,方法如下:(1)选择菜单->Project->Add to Project->Components and Controls Gallery;(2)在部件选择对话框中进入Registered ActiveX Controls;(3)选择DBGrid Control,单击Insert按钮,确认后对类进行配置(可以按默认),我们不做任何修改单击OK按钮,插入完成。添加完成后,在控件工具箱中出现了DBGrid控件(最后一个控件)。 图3-3 在VC中添加DBGrid C
24、ontrol3.1.3 添加远程数据访问控件Microsoft RemoteData Control 我们还要继续添加一些辅助的控件来完成同数据库源的绑定。用同插入DBGird控件一样的步骤,插入Microsoft RemoteData Control控件,完成后该控件出现在控件工具箱中(最后一个控件)。图3-4 添加远程数据访问RDC控件3.1.4 通过DBGrid控件和RDC控件显示数据库内容1、添加“产品查询”菜单项的处理函数:在VC+的ResourceView面板中,双击Menu资源中的IDR_MENU1,在右边设计窗口中通过类向导添加“产品查询”的处理函数(如图3-5)。图3-5 添
25、加产品查询菜单项的处理函数2、添加用于“产品查询”菜单项的对话框处理界面:在VC+的菜单栏中选择“Insert”-“Resource”,在弹出的插入资源对话框中选择Dialog,并单击New按钮后,在资源面板中可以看到新插入的对话框IDD_DIALOG1,用于产品查询的处理界面(如图3-6)。图3-6 添加用于产品查询的对话框IDD_DIALOG13、编辑对话框IDD_DIALOG1:通过控件工具箱添加DBGrid控件、Remote Data控件、Combo Box控件、查询按钮等(如图3-7)。图3-7对话框IDD_DIALOG1内容设计4、编辑对话框IDD_DIALOG1中各控件的属性:如
26、图3-8所示。 图3-8 设置各控件的属性5、添加对话框中“查询”按钮的处理函数:左键双击查询按钮,在弹出的对话框中选择“Creating a new class”,点击OK,如图3-9所示: 图3-9 添加对话框中查询按钮的处理函数6、添加代码:(1)在类视图面板中,展开COrder_MISDlg类,首先在文件头添加包含CDialog1类头文件的一行代码,然后添加“产品查询”菜单项OnProduct1的处理函数。#include "Dialog1.h" void COrder_MISDlg:OnProduct1() / TODO: Add your command han
27、dler code here CDialog1 dialog1;dialog1.DoModal(); /启动产品查询对话框(2)在类视图面板中,展开CDialog1类,添加“查询”按钮OnButton1的处理函数。这里,还需要通过启动ClassWizard,添加Combo Box控件的成员变量和RemoteData控件的成员变量,进行控件与变量之间的数据绑定。图3-10 添加对话框中相关控件的成员变量在CDialog1类视图中添加“查询”按钮OnButton1的处理函数:void CDialog1:OnButton1() UpdateData(1); /读取控件值CString sql=&qu
28、ot;select * from 产品"if(m_combo1!="") /当选择了复选按钮的下拉项时sql=sql+ " where 产品单价 "sql=sql+m_combo1; /SQL语句定义 sql=sql+" order by 产品单价" /按产品单价排序m_rdc1.SetSql(sql); /设置产品查询的SQL语句 m_rdc1.Refresh(); /刷新远程数据访问控件7、编译运行:图3-11 点击“产品查询”菜单项后的对话框运行界面及查询结果3.2 在Visual C+ 6.0中使用ADO方式控制和更
29、新数据库ADO(ActiveX Data Objects)是微软开发的基于对象的数据库访问中间件,它将数据库操作抽象成为一个个对象,通过对这些对象的操作来完成数据库应用程序设计。ADO对象模型包括以下关键对象:(1)Connection对象(连接对象)该对象成为连接对象,就是负责数据库连接和断开的对象,该对象在使用Open()函数打开数据库连接开始,直到调用Close()关闭数据库连接为止,它负责维护应用程序和数据库管理系统的一个会话,保证在此之间的数据库操作持续性。(2)Command对象(命令对象)使用SQL语句来操作数据库是数据库管理系统常用的手段,而在应用程序中往往需要借助该手段来简化
30、应用程序设计,因此也需要传递SQL语句来进行数据库操作。命令对象就是负责对一个数据源进行SQL命令传递和执行等操作进行管理,如传递SQL语句字符串、执行的次数和参数等。(3)Parameter对象(参数对象)参数对象是命令对象的辅助对象,主要用于命令对象的参数传递,这些参数本身就是一个对象,叫做参数对象。参数对象将一些操作定义好,然后直接以参数的形式被命令对象调用,以更简单高效的方式对数据库进行操作。(4)Recordset对象(记录集对象)记录集对象顾名思义就是表示记录的集合的对象,它将数据库中的记录的全部或部分读取到内存中,然后将内存中的对象经命令对象处理后,写回到硬盘的数据库中。该对象在
31、数据库记录非常多的时候起到了提高数据库操作效率的作用,使得应用程序不必每个操作都读取硬盘数据库,而是将全部操作在内存中完成后再写回硬盘。本节将基于ADO方式进行数据库操作,包括记录添加、记录删除、记录更新等。以下,以订单管理系统为例,通过ADO数据库操作,实现产品添加、产品删除、产品更新等功能。3.2.1 添加订单管理系统二级菜单项的对话框和消息处理函数(1)启动MFC Class Wizard在COrder_MISDlg类中为产品管理的二级菜单项“产品添加”、“产品删除”和“产品修改”添加消息处理函数(如图3-12所示)。图3-12 添加产品管理二级菜单项的消息处理函数(2)在VC+6.0的
32、主菜单中选择“Insert”-“Resource”-“Dialog”-“New”分别插入3个对话框IDD_DIALOG2、IDD_DIALOG3、IDD_DIALOG4,然后分别对这个三个对话框的界面进行设计(如图3-13所示)。(3)启动MFC Class Wizard分别为三个对话框中的编辑框(Edit Box)控件在各自对话框类中添加相应成员变量,将编辑框与变量绑定(如图3-14所示)。 图3-13 产品添加、删除和修改对话框界面设计 图3-14为产品添加、删除和修改对话框添加新类和成员变量(4)打开ClassView面板,展开COrder_MISDlg类视图(如图3-15),为“产品添
33、加”、“产品删除”和“产品修改”的消息处理函数OnProduct2()、OnProduct3()、OnProduct4()添加启动对话框的代码(蓝色部分)。图3-15为产品添加、删除和修改对话框添加消息处理函数的代码void COrder_MISDlg:OnProduct2() / TODO: Add your command handler code here CDialog2 dialog2; dialog2.DoModal(); void COrder_MISDlg:OnProduct3() / TODO: Add your command handler code here CDial
34、og3 dialog3; dialog3.DoModal(); void COrder_MISDlg:OnProduct4() / TODO: Add your command handler code here CDialog4 dialog4; dialog4.DoModal(); 文件前面添加如下包含对话框类头文件的代码:/ Order_MISDlg.cpp : implementation file#include "stdafx.h"#include "Order_MIS.h"#include "Order_MISDlg.h"
35、;#include "Dialog1.h"#include "Dialog2.h"#include "Dialog3.h"#include "Dialog4.h"完成以上代码后,点击产品管理二级菜单项就可以启动相应的对话框处理界面。3.2.2 订单管理系统产品添加功能实现(1)打开“产品添加”对话框,双击“添加”按钮添加处理函数OnButton1()。图3-16为添加按钮加入消息处理函数(2)展开ClassView类视图,在Dialog2类的文件Dialog2.cpp中头部引入数据库接口文件,添加如下代码(蓝色部分
36、):#include "stdafx.h"#include "Order_MIS.h"#include "Dialog2.h"#import "c:Program FilesCommon FilesSystemADOmsado15.dll" rename_namespace("ADOCG") rename("EOF","EndOfFile")该行代码是ADO数据库连接必不可少的语句,它包含了msado15.dll文件,该文件实际上封装了连接数据库及其操作的
37、底层,并将其接口函数提供给开发者使用。(3)展开ClassView类视图中,在Dialog2类的CDialog2:OnButton1()函数中添加如下代码(蓝色部分):void CDialog2:OnButton1() / TODO: Add your control notification handler code hereUpdateData(1); /读取控件值 ADOCG:_ConnectionPtr m_pConnection; CoInitialize(NULL);m_pConnection.CreateInstance(_uuidof(ADOCG:Connection);/创建
38、数据库连接对象ADOCG:_RecordsetPtr m_pRecordset;m_pRecordset.CreateInstance(_uuidof(ADOCG:Recordset);/创建数据库记录对象CString pathName("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=");pathName += "db1.mdb"try /数据库连接到当前目录下指定的数据库文件m_pConnection->Open(pathName.AllocSysString(),"",&quo
39、t;",ADOCG:adModeUnknown); catch(_com_error e)MessageBox("该路径下没有这个数据库"); _variant_t vRecords;CString temp,temp2,sql= "select max(产品ID)+1 as max_id from 产品" m_pRecordset->Open(sql.AllocSysString(),_variant_t(IDispatch*)m_pConnection,true),ADOCG:adOpenStatic,ADOCG:adLockOpti
40、mistic,ADOCG:adCmdText);/打开数据集vRecords = m_pRecordset->GetCollect("max_id"); temp= (LPCSTR)(_bstr_t)vRecords; /SQL查询得到下一条记录的产品ID temp2=""" sql= "insert into 产品 values(" sql+=temp+"," sql+=temp2+m_edit1+temp2+","sql+=m_edit2+")" /SQL
41、插入新记录m_pConnection->Execute(sql.AllocSysString(),&vRecords,ADOCG:adCmdText); /执行SQL语句m_pRecordset->Update();if(m_pConnection->State)m_pConnection->Close(); /关闭数据库连接 m_pConnection= NULL;MessageBox("成功添加新产品信息!","提示");CDialog:OnOK();注意:db1.mdb数据库文件需要放在当前程序文件目录下。完成以上代
42、码后,按Ctrl+F5执行后,点击“产品添加”二级菜单项,即可在对话框处理界面中通过输入新产品名称和单价,添加新产品。3.2.3 订单管理系统产品删除功能实现(1)打开“产品删除”对话框,双击“删除”按钮添加处理函数OnButton1()。图3-17为删除按钮加入消息处理函数(2)展开ClassView类视图,在Dialog3类的文件Dialog3.cpp中头部引入数据库接口文件,添加如下代码(蓝色部分):#include "stdafx.h"#include "Order_MIS.h"#include "Dialog3.h"#imp
43、ort "c:Program FilesCommon FilesSystemADOmsado15.dll" rename_namespace("ADOCG") rename("EOF","EndOfFile")(3)展开ClassView类视图中,在Dialog3类的CDialog3:OnButton1()函数中添加如下代码(蓝色部分):void CDialog3:OnButton1() / TODO: Add your control notification handler code here UpdateDa
44、ta(1); ADOCG:_ConnectionPtr m_pConnection; CoInitialize(NULL);m_pConnection.CreateInstance(_uuidof(ADOCG:Connection);/创建数据库连接对象ADOCG:_RecordsetPtr m_pRecordset;m_pRecordset.CreateInstance(_uuidof(ADOCG:Recordset);/创建数据库记录对象CString pathName("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=");p
45、athName += "db1.mdb"try /数据库连接到当前目录下指定的数据库文件m_pConnection->Open(pathName.AllocSysString(),"","",ADOCG:adModeUnknown); catch(_com_error e)MessageBox("该路径下没有这个数据库"); _variant_t vRecords; m_pRecordset->Open("select * from 产品",_variant_t(IDispatch*
46、)m_pConnection,true),ADOCG:adOpenStatic,ADOCG:adLockOptimistic,ADOCG:adCmdText);/打开数据集 CString temp=""" CString sql= "delete from 产品 where 产品名称=" sql+=temp+m_edit1+temp; /定义SQL命令字串MessageBox("确定删除该产品信息?","确认");m_pConnection->Execute(sql.AllocSysString(
47、),&vRecords,ADOCG:adCmdText); /执行SQL删除语句 m_pRecordset->Update();if(m_pConnection->State)m_pConnection->Close(); /关闭数据库连接 m_pConnection= NULL;CDialog:OnOK();完成以上代码后,按Ctrl+F5执行后,点击“产品删除”二级菜单项,即可在对话框处理界面中删除所输入的产品。3.2.4 订单管理系统产品修改功能实现(1)打开“产品修改”对话框,双击“查看”按钮添加处理函数OnButton1(),双击“修改”按钮添加处理函数On
48、Button2()。(2)展开ClassView类视图,在Dialog4类的文件Dialog4cpp中头部引入数据库接口文件,添加如下代码(蓝色部分):#include "stdafx.h"#include "Order_MIS.h"#include "Dialog4.h"#import "c:Program FilesCommon FilesSystemADOmsado15.dll" rename_namespace("ADOCG") rename("EOF","
49、EndOfFile")(3)展开ClassView类视图,在Dialog4类的CDialog4:OnButton1()函数中添加如下代码(蓝色部分):void CDialog4:OnButton1() / TODO: Add your control notification handler code hereUpdateData(1); ADOCG:_ConnectionPtr m_pConnection; CoInitialize(NULL);m_pConnection.CreateInstance(_uuidof(ADOCG:Connection);/创建数据库连接对象ADOC
50、G:_RecordsetPtr m_pRecordset;m_pRecordset.CreateInstance(_uuidof(ADOCG:Recordset);/创建数据库记录对象CString pathName("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=");pathName += "db1.mdb"try /数据库连接到当前目录下指定的数据库文件m_pConnection->Open(pathName.AllocSysString(),"","",AD
51、OCG:adModeUnknown); catch(_com_error e)MessageBox("该路径下没有这个数据库"); _variant_t vRecords; CString temp=""" CString sql= "select * from 产品 where 产品名称=" sql+=temp+m_edit1+temp; /定义SQL命令字串 m_pRecordset->Open(sql.AllocSysString(),_variant_t(IDispatch*)m_pConnection,tru
52、e),ADOCG:adOpenStatic,ADOCG:adLockOptimistic,ADOCG:adCmdText);/打开数据集 vRecords = m_pRecordset->GetCollect("产品ID"); m_edit2= (LPCSTR)(_bstr_t)vRecords; vRecords = m_pRecordset->GetCollect("产品名称"); m_edit3= (LPCSTR)(_bstr_t)vRecords; vRecords = m_pRecordset->GetCollect(&quo
53、t;产品单价"); m_edit4= (LPCSTR)(_bstr_t)vRecords; if(m_pConnection->State)m_pConnection->Close(); /关闭数据库连接 m_pConnection= NULL;UpdateData(0);(4)展开ClassView类视图中,在Dialog4类的CDialog4:OnButton2()函数中添加如下代码(蓝色部分):void CDialog4:OnButton2() / TODO: Add your control notification handler code hereUpdate
54、Data(1); ADOCG:_ConnectionPtr m_pConnection; CoInitialize(NULL);m_pConnection.CreateInstance(_uuidof(ADOCG:Connection);/创建数据库连接对象ADOCG:_RecordsetPtr m_pRecordset;m_pRecordset.CreateInstance(_uuidof(ADOCG:Recordset);/创建数据库记录对象CString pathName("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=")
55、;pathName += "db1.mdb"try /数据库连接到当前目录下指定的数据库文件m_pConnection->Open(pathName.AllocSysString(),"","",ADOCG:adModeUnknown); catch(_com_error e)MessageBox("该路径下没有这个数据库"); _variant_t vRecords;m_pRecordset->Open("select * from 产品",_variant_t(IDispatch
56、*)m_pConnection,true),ADOCG:adOpenStatic,ADOCG:adLockOptimistic,ADOCG:adCmdText);/打开数据集 CString temp=""" CString sql= "update 产品 set 产品ID=" sql+=m_edit2;sql+=",产品单价="+m_edit4; sql+=" where 产品名称="+temp+m_edit3+temp;/定义SQL命令字符串MessageBox("确定修改该产品信息?","确认");m_pConnection->Execute(sql.AllocSysString(),&vRecords,ADOCG:adCmdText); /执行SQL删除语句 m_pRecordset->Update
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建设工程进度监理服务协议
- 2025公务员审计面试题及答案
- 公共行政中的包容性治理模式-洞察及研究
- 疾控专业考试题及答案
- 2025至2030中国消费后纺织品行业项目调研及市场前景预测评估报告
- 2025至2030中国缓激肽B1受体行业项目调研及市场前景预测评估报告
- 2025至2030中国宣传册行业项目调研及市场前景预测评估报告
- 有关心肺复苏教学课件
- 智能监控中心建设及维保服务合同范本
- 双方协议离婚房产分割及子女抚养协议书
- 2024年-2025年电梯检验员考试题库及答案
- 家政日常保洁培训
- 【初中英语】15天背完英语3500词
- 九年级化学(全一册)知识点总结
- DB11∕T 2178-2023 城市河道边坡水土保持技术规范
- GB 7300.304-2024饲料添加剂第3部分:矿物元素及其络(螯)合物甘氨酸铁络合物
- 2025届高考语文一轮复习:文言文主观题答题策略+课件
- 新高考背景下2025届高三历史一轮复习策略讲座
- 养老机构员工宿舍管理制度
- 第4课 用联系的观点看问题 第二框
- 1.6《算盘》(同步练习)-2024-2025学年四年级上册数学人教版
评论
0/150
提交评论