版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数控铣削加工工艺参数库的设计学 院机电工程专 业机械设计制造及其自动化班 级学 号姓 名指导教师 负责教师沈阳航空航天大学2012年6月 摘 要本文以visual c+6.0作为开发工具,以access建立铣削加工工艺参数数据库,应用mfc进行odbc编程,实现对机床参数信息的增加、修改、删除以及查询操作。所编写的应用程序具有检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等优点。凭借这些优点能够直观的了解机床的参数,方便对机床的维修和护理,极大地提高机床参数信息管理的效率,实现了参数科学化、正规化的管理。关键词:odbc ;mfc;access the design of techn
2、ological parameters database which processed by numerically-controlled millingabstractthis system that manages the technology parameters of milling process has been developed with visual c+6.0through the database access technology based on odbc with mfc,the parameters can be increased,modified,remov
3、ed and queriedthis system virtues of searching quickly,lookup conveniently,high reliability,large storage,confidentiality, long longevity and low cost these advantages to bars intuitive understanding of machine tools of parameters,easy to machine maintenance and nursing,greatly improve the efficienc
4、y of information management tools parameter,is also the management of scientific,regularized,an important condition of coming into contact with the worldkeywords: odbc mfc access目录1 绪 论11.1 课题由来11.2 数据库管理系统国内外发展综述21.2.1 国外发展状况21.2.2 我国发展状况21.3 目前存在的问题及发展方向31.4 研究内容81.5 经济运营分析92 整体方案设计102.1 系统框图102.2
5、 数据库设计122.2.1 建立铣削数据库的目的122.2.2 铣削数据库加工工艺参数的来源及内容122.3 铣削加工工艺参数分析132.4 基于vc的数据库访问设计132.4.1 odbc访问技术的优点132.4.2 odbc(open database connectivity)简介142.4.3 vc+中使用odbc的方法153 程序设计173.1 程序设计总流程图173.2 access数据库的建立173.3 odbc数据源的建立193.3.1 odbc管理器203.3.2 开放数据库连接203.4 数据源的连接213.4.1 odbc应用程序接口213.4.2 odbc应用编程223
6、.5 sql语句的直接执行253.5.1 使用sqlgetdiagrec和sqlgetdiagfield253.5.2应用odbc api建立应用程序263.5.3分配odbc环境263.5.4 分配连接句柄263.5.5连接数据源273.5.6 sql语句编程324 结果与分析355 结论436 参考文献44致 谢46附 录 mfc odbc程序代码471 绪 论1.1 课题由来本设计是利用计算机来开发一种管理软件。主要应用对象便是铣削加工工艺参数库的建立(数控机床参数库的建立)。visual c+为数据库开发提供了多种多样的技术支持。用户可供选择的数据库访问技术包括odbc、mfc odb
7、c、dao、ole db、ado等。 铣削数据是衡量铣削技术水平高低的一个基本量值。采用合理的铣削数据,可以充分发挥铣削机床和铣削刀具的功能,尤其对于各种自动化加工机床、数控机床和加工中心来说,自动化加工的辅助时间已大大缩短,这样,在有效的加工时间内充分利用合理的或优化的铣削数据,对提高整个加工系统的经济效益更为重要。铣削数据传统上通常依据铣削手册、生产实践资料或铣削试验来确定。铣削手册上的数据来源最广泛,条理性一般较强,但针对性和准确性较差,通过查阅铣削手册来获得数据,在信息量和方法的先进性上都非常不足;生产实践资料对具体应用企业而言,针对性较强,但数据太分散,缺乏规律性;通过铣削试验获得的
8、数据,最有针对性,但受试验条件等多方面的限制,数据量极为有限,而 且试验条件与生产现场条件往往差别较大。 随着科学技术的发展,计算机在铣削加工中的应用日益增多,国内外已利用计算机来筹建铣削数据库,将铣削加工中需用的数据和信息,按一定规律储存在计算机中,可以根据需要调用、打印,也可以随时进行修改和增删。铣削数据库的内容应包括铣削用量推荐值,根据加工条件,在不同的铣削深度-进给量组合下,推荐不同寿命刀具下的铣削速度,并计算功率消耗。除此之外,还应列入工件与刀具材料的牌号、成分、性能与机床的型号、性能参数等。由于计算机储存数据高度密集,占空间小,便于修改、增删,所以,凡是铣削加工所需的数据,甚至 铣
9、削实验的曲线图形及回归公式(如taylor公式、铣削力经验公式等)、数学模型等均可储存在数据库中。1.2 数据库管理系统国内外发展综述自第一个切削数据库诞生以来,世界各工业发达国家大都开发了各自的金属切削数据库。据不完全统计,迄今已有德国、美国、瑞典、英国、日本、挪威、比利时和匈牙利等12个国家建立了30多个金属切削数据库,提供各种形式的信息服务。对世界各国切削数据库所作的调查情况(见表)表明,目前切削数据库中的数据来源于实验室、生产车间及文献,主要应用于车削、切削、铣削及磨削。1.2.1 国外发展状况在已建立的切削数据库中,当属cutdata与infos最为著名。1964年,美国金属切削联合
10、研究公司和美国空军材料实验所联合建立了美国空军加工性数据中心(afmdc)。该中心开发的cutdata切削数据库,是世界上第一个金属切削数据库,该数据库包含大量的切削试验数据,并且经过多次更新,比较全面、可靠,可以为3750种以上的工件材料,22种加工方式及12种刀具材料提供切削参数。德国1971年建立了切削数据情报中心 (infos)。该中心存储的材料可加工性信息达二百多万个单数据,成为世界上存储信息最多、软件系统最完整和数据服务能力最强的切削数据库之一。1.2.2 我国发展状况我国建立的切削数据库是从20世纪80年代开始的。目前,国内有成都工具研究所、南京航空航天大学、北京理工大学、西北工
11、业大学、上海工业大学、山东大学、哈尔滨理工大学和天津大学等单位,在切削数据库方面开展了一些研究工作。成都工具研究所在1987年建成了我国第一个试验性切削数据库trn10,又于1988年从当时的联邦德国引进了infos切削数据库软件 (在国内运行后,被称为atrn90),并加以改进,向国内推出其修订版的atrn90e。随后又继续开发并推出了切削数据库软件ctrn90v1.0。 ctrn90与原版infos比较,它改进、扩展了系统,增强了功能,增添了中国数据,应用了“可加工性材料组切削材料副”的概念,实现了软件的汉语化和英语化。它在汉化的vax/cvms操作系统环境中运行,用户界面为人切对话方式,
12、采用多层菜单驱动。软件本身规模约为8mb,带有11个专用子程序库。采用了国内的切床、刀具和试验数据,同时也包含了部分国外数据。1991年推出了ctrn90v2.0,1992年又推出了ctrn90v3.0。在上述基础上,1998年开发了在windows环境下运行的数据库软件。南京航空航天大学是研究金属切削数据库比较早的高校,早在1986年,南航的张幼桢教授就对建立金属切削数据库的若干问题进行了探讨,许洪昌等对金属切削数据库又进行了更深一步的研究,近年来,着重研究切削数据的优化和专家系统技术在切削数据库中的应用。1988年,开发了一个专用切削数据库软件系统naimds,1991年进一步开发了kbm
13、dbs切削数据库系统。北京理工大学建立了一个主要面向硬质合金刀具材料和涂层刀具生产厂家的切削数据库系统。根据切削数据的不同来源和特点,将其分为三大类:即浓缩型切削数据、离散型切削数据和资料型切削数据。北京理工大学对切削试验曲线在切削数据库中的存储与绘制进行了研究,并在此基础上实现了刀具磨损、刀具寿命、断屑和切削力等六种试验曲线的存储和绘制,使金属切削数据库在功能上不仅能够存储数据,而且也能处理曲线。这对于丰富切削数据库的内容,扩大切削数据库的范围,以及工程数据库的建立都有积极的意义。除了各国均建立自己的切削数据库外,国际学术机构也开展了切削数据库的研究开发工作,如于1995年成立的国际生产工程
14、学会(cirp)切削加工模型研究小组,从事切削加工预报模型的研究,为机械制造业提供切削参数,自1998年开始邀请世界著名研究机构加盟其切削数据库的研究与建立。1.3 目前存在的问题及发展方向建立切削数据库的根本目的是为生产实际服务,但已建立的切削数据库及工艺数据库,付诸实用的还不多,分析其原因是多方面的:企业对切削数据库的重视不够;数据的信息量还不够多,且尚未解决与capp、cam等系统的联接问题;关键的问题是现有切削数据库本身还存在一些问题,首先是切削数据的可靠性,由于数据的来源较多,有来自工厂的数据、实验室的数据,还有来自各种手册上的数据,这些数据应经过严格的分析、处理和评估,否则,其应用
15、效果必然不佳。同时,还有计算机软件的问题,软件功能的强弱对数据库中数据作用的发挥至关重要。为了进一步促进切削数据库的应用,切削数据库正在向集成化、智能化、实用化和网络化方向发展。(1)集成化企业为了方便和准确地查询本企业的制造资源,需要建立制造资源数据库,它一般包括工艺基本定义和分类、机床设备、刀具、工艺装备、毛坯种类、材料牌号、材料规格、工艺规则库、工艺简图库、工艺参数库(切削参数、设备参数、工时定额表)和典型工艺库等。切削数据库与capp、cad/cam和 cims等联机,作为制造数据库的一部分,为这些自动化制造系统提供合理的切削加工数据,由切削数据中心向加工信息中心乃至生产信息中心发展,
16、对加工过程中的规律、规则、数据和技术进行采集、评价、存储、处理及应用。因此,切削数据库对nc机床、加工中心及cad、cam、capp、cims等而言,是基础数据的提供者,是cam、capp、gt等先进技术的基础。没有数据库的支持,就没有真正的计算机集成制造系统,所以集成化是切削数据库发展的必然趋势。意大利比萨大学开发的用于选择刀具的coats系统,实现了与capp系统的联结,其输入数据来自capp的其他子系统。一些计算机辅助设计与制造软件开发商开发了一些切削数据库模块,如ugcam中包含了一个功能强大的切削数据库,通过数据库的查询,可以定义工件材料、刀具材料、刀具尺寸参数以及切削方法等,并通过
17、数据库的运算,获得主轴转速和进给速度的数据。ug cam数据库由五个子库组成:工件材料库、刀具材料库、刀具尺寸参数库、切削方法库和切削速度库。ugcam数据库的结构如图1所示。刀具材料分为五类:高速钢、无涂层整体硬质合金、无涂层可转位硬质合金、涂层可转位硬质合金及涂层高速钢。切削方法分为四类:立切、开槽、面切和侧切。刀具类型有:立切刀、面切刀、t形切刀、鼓形切刀、ug5参数切刀、ug7参数切刀和ug10参数切刀。工件材料类型有:碳素钢、合金钢、高速钢、不锈钢、工具钢、铝合金和铜合金。其他cad/cam软件,如pro/e、mastercam、cimatron等,也都开发了各自的切削数据库模块。(
18、2)智能化传统开发的切削数据库和刀具管理系统所提供的数据,大多只是“静态”的原始数据,比较具体、确定,从根本上来说,只能算作电子手册,对于生产现场出现的种类繁多的加工方式、性能千变万化的工件材料和刀具材料,仅靠“静态”数据库往往难以解决。目前,切削数据库正朝着智能化方向发展,利用人工智能的方法来建立切削数据库,使其具有“动态”特性。由于数据库管理系统不能从存储的数据中进行逻辑推理或作启发性判断,因而存储数据的价值得不到充分发挥,而人工智能的优势却可以解决这一难题。把人工智能与切削数据库结合起来,可以解决切削数据库中一些难以解决的问题。智能化是20世纪80年代以来切削数据库研究的重点,也是切削数
19、据库今后的发展方向。智能化就是将切削专家的经验,切削加工的某些一般规则与特殊规律存储在计算机中,实现运行与决策。很多切削技术及其专家的经验很难用严格的数学模型表达,如果将数据库与人工智能技术结合,则是解决这类问题的最好方法。专家系统由知识库、推理机和人机界面三部分组成,其中最关键的部分是知识库和推理机。coats系统的知识表示采用了产生式规则。为了避免推理过程中出现多条规则同时满足的不确定情况,给每条规则赋予一定的权重。刀具参数的选择主要依靠知识库中的规则及其权重,通过一定的算法运算来得到。 coats系统大约有300条规则,用prolog语言写成。宾夕法尼亚州立大学开发的切削加工参数选择专家
20、系统esmds的推理方式为正向推理,系统的开发语言为fortran77。加拿大温莎大学开发了基于零件特征的机床和刀具选择专家系统,该系统用专家系统开发工具exsys开发,知识表示采用产生式规则(共122条),推理方式为逆向推理。南斯拉夫开发了产生式规则和矩阵方法表示知识的刀具自动选择专家系统。国家“863”计划资助北京理工大学开发的cims 环境下的切削数据库和专家系统(byjc-cims-mdes),将切削数据库和专家系统服务多种功能加以集成,把专家系统中知识库的设计与数据库相结合,取得了较好的效果。专家系统采用规则匹配推理,适于容易找到因果关系的领域,切削加工中的有些现象却很难用规律性的知
21、识和因果关系来描述,规则匹配推理也需解决规则冲突问题。此外,还有利用人工神经网络、模糊算法、基因遗传算法等,用于切削数据的计算推理,英国开发了基于实例推理的智能磨削参数选择系统,山东大学正在开发基于实例推理的刀具材料与切削参数选择的高速切削数据库。根据人工智能学说,智能系统的智能越高,系统开发的成本就越大,所以,智能化切削数据库的开发研究,应充分利用目前智能技术和信息科学等领域已有的科研成果,综合人与计算机的各自特点,从而开发出新型的智能切削数据库,以满足企业对切削数据合理使用的要求。(3)实用化通用切削数据库提供针对不同机床、不同切削方法、不同刀具材料的切削工艺参数,能够根据不同的加工条件,
22、提供优化的刀具角度、切削速度、进给量等切削用量和切削液等一系列切削参数。但是,建立通用切削数据库是一项巨大的工程,要耗费大量的人力、物力和资金。作为一个公司、一个行业范围来说,它用到的刀具、工件材料是有限的,基本切削数据可以通过资料获得并经实践检验。因此,建立一个公司自己的数据库是有必要的,并且不会太困难。许多刀具生产商和研究机构开发了计算机刀具数据管理(tool data management,tdm)系统,如德国walter公司的tdmeasy软件,向用户推荐该公司的各类刀具加工不同工件材料时的切削参数。 walter公司的tdm刀具管理软件具有缩短计划时间、使调整时间和工序间断时间降至最
23、低、减少刀具种类、促进刀具标准化、减少刀具库存,以及对刀具订货进行控制的功能等。sandvikcoromant公司开发的autotas刀具管理软件,有11个集成模块。软件可为该公司提供3000多种刀具的 cad模型(几何尺寸、检测、装配),可自动选择该公司样本与电子样本中的刀具使用,提供各种刀具的库存位置、成本、供应商、切削性能、刀具寿命及要加工工件的信息。autotas刀具管理软件还提供刀具库存管理、购买、统计分析,报表,刀具室计划与质量控制等功能。kennametal公司也开发了自己的刀具管理软件katms与toolboss。datos计算机公司推出的刀具供应软件收录有30多种刀具,并提供
24、大量的信息,本身计算出的或获取的切削数据可以集成在软件内。mapal公司推出的全球刀具管理系统可为用户提供正确的刀具品种和数量,可为用户建立服务部,负责刀具的重磨、调整、发放等业务,帮助用户分析、评价加工过程等。gunther公司和seco公司的刀具电子样本可帮助用户正确选择和使用切削刀具。emuge franken公司的刀具电子样本可计算和分析加工成本,还可对多功能刀具(如钻-切螺纹刀具)提供编程指南和g代码的运行程序。德国cim公司研制了金属切削刀具的电子信息系统(在cdrom盘上,一般称为cimsource),包括世界17个主要刀具公司生产的 115000种以上的刀具数据。cimsour
25、ce系统对刀具用户的服务,包括为刀具用户提供标准化图形、优化控制刀具业务和优化组织大批或成批的刀具供应。cimsource系统的电子目录可帮助用户了解世界刀具市场推出的品种繁多的产品,并可获得较深入的信息,以便进一步用来准备具体的加工工艺过程。刀具供应商采用cimsource系统,可保证做到:精确、按时地将刀具提供给用户;因供应的刀具是以电子产品形式的,故价格最佳:可扩大市场和便于用户进入全球性贸易网络。国内许多研究机构和企业对刀具管理系统进行了研究开发,如国家“863”计划资助清华大学开发的面向cims的计算机辅助刀具管理系统,济南轻骑发动机厂开发的适合自己企业的计算机刀具管理系统等。西北工
26、业大学还开发了14种常用钛合金的切削数据库。上海工业大学建立了一个适合石油行业的切削数据库。航空工业部进行了航空金属材料切削数据库的筹建工作。哈尔滨理工大学开发了pcbn 刀具切削数据库。山东大学正在筹建高速切削数据库和陶瓷刀具切削数据库及模具切削加工数据库。天津大学与汽车厂家合作,建立了一个针对汽车厂家使用的金属切削数据库。上海交通大学建立了旋转刀具/切削数据库。(4)网络化迅速发展的internet技术,给切削数据库应用领域带来了新的活力,网络化强调数据交换和资源共享,将是未来切削数据库技术发展的主要趋势。目前,世界著名刀具制造公司纷纷开设了自己的网站,通过访问这些网站,用户可以了解该公司
27、的概貌、目前的生产科研情况、新产品目录、特点、报价和出版物等,有的还可以提供切削参数,有的可以下载软件,如下载刀具制造的标准程序和刀具选择软件,以及刀具cad图纸等。如guhring公司在网上提供免费的刀具管理软件。cimsource也已纳入internet,并以对话方式工作,将全世界的用户联系起来,不断获取关于切削刀具的信息。 cimsource可帮助解决下列刀具制造和使用问题:切削刀具的选择、切削加工工艺、提供信息网络内的订单、刀具的图形信息、刀具的生产和刀具的出口数据。 切削数据库在向着集成化、智能化、实用化和网络化方向发展的同时,一方面需要进行信息模型、数据模型、开发设计理论与模式等方
28、面的基础性研究;另一方面还应进行切削数据的标准化工作,切削数据的标准化是切削数据库技术推广应用和稳定发展的保障。1.4 研究内容切削数据库的建立包括结构设计和应用软件设计。切削数据库结构设计包括切削数据的采集、处理和评价,切削数据的建立,切削数据的优化,切削数据的输出和信息服务等功能。根据评价后切削数据的特征,可建立离散型切削数据库或浓缩型切削数据库。离散型切削数据库的数据量十分庞大,涉及到切削方式、工件材料、刀具材料及其几何参数与结构、切削参数、切削液和机床等许多因素,以存储检索的方式管理该类数据。在数据库概念结构设计中,首先建立切削数据的(实体关系)模型,然后进行逻辑结构设计和物理结构设计
29、。离散型切削数据库中与切削数据有关的影响因素一般用代码表示,切削数据库里的关键字由影响切削数据选择的各代码叠加而成。因此,各种切削方式的关键字是不相同的,必须分别建立其相应的子库,这就是切削数据库的分库技术。各子库既要考虑它能在总控程序下运行,又要保证它能独立运行,它采用模块式结构建立。数据库内部各影响因素的表之间应建立参照完整性,父表与子表之间具有约束关系,对表进行修改(记录的插入、更新或删除)时,计算机自动对相应的表进行操作,免去重复操作和由此可能引起的错误。浓缩型切削数据库用于存储和管理各种切削数学模型的算式及其系数和指数、产生这些数学模型的切削加工条件等。切削数据库的应用管理程序应能满
30、足切削数据的输入、更新、删除、检索和输出等基本要求。目前,多采用窗口菜单显示技术,同时在程序编制中采用循环嵌套,使系统具有相当的容错和改错功能。为防止切削数据库系统被其他人员随便检索和修改,保证数据库的安全性,可对其访问进行控制及用户认证,只有输入正确的用户名及密码才可拥有数据库的使用权。1.5 经济运营分析切削数据库的建立带来的经济效益是非常可观的。在cutdata建库的初期,就为工业部门节约了1.6亿美元。infos可使单件生产时间下降10%,生产成本下降10%。sws经300多家企业应用,平均每年可节约工时15%40%。据cirp对切削数据库经济效益的调查表明,切削数据库可使加工成本下降
31、10%以上。2 整体方案设计2.1 系统框图本系统主要用于管理铣削加工工艺参数。利用小型数据库管理软件access建立铣削加工工艺参数数据库。采用基于odbc的数据访问技术,在vc+6.0环境下开发专门的人机交互界面,方便用户对所建立的工艺参数进行存储和访问。 本软件的功能是可以对铣削加工工艺参数库的数据进行添加、修改、删除、查询,方便对数控机床的参数管理,通过本软件可以对一些数据进行海量的管理。在我设计的系统中用户可以直观而方便的对数据管理。当数据既多又复杂的情况下,通过本软件可以很轻松的对数据进行一些操作。在计算机应用方面,本系统绝对的是简单又方便的参数处理系统,它可以存储海量的数据,再加
32、上强大的系统功能,可以快捷的查询到想要得到的数据。本设计系统的操作界面简明,可以很方便的对数据进行管理操作。 用access建立切削数据库对参数记录进行添加、修改、删除操作用vc+建立连接access数据库基于vc+的数据库管理程序切削用量查询刷新数据库进给量查询 参数查询 查询结果显示 图2.1 系统框图2.2 数据库设计2.2.1 建立铣削数据库的目的随着数控机床的发展,它在加工行业中起着越来越重要的作用。但是其切削参数的选择主要依赖于操作人员的素质和经验,这使得数控机床不能在合理的铣削参数下运行。因此,有必要对铣削参数数据库进行研究,为这些生产中的关键设备配备合理的加工参数。2.2.2
33、铣削数据库加工工艺参数的来源及内容 铣削数据库中的数据主要有以下3个来源:(1) 生产经验数据:车间生产经验数据来源于本单位技术人员和操作工人的经验积累,比较符合生产实际,但不一定最优,且比较离散,收集较难;(2) 实验数据:实验数据针对具体生产条件而专门设计的试验获得的,经过教学处理后,系统性比较好,但采集难度大;(3) 资料手册数据:资料手册数据是多年众多生产经验数据的提炼,比较丰富和系统,采集起来比较容易,可靠性中等。我设计的铣削数据库内容有:(1) 进给量库:高速钢端铣刀、圆柱铣刀和盘铣刀加工时的进给量(半精铣)、高速钢端铣刀、圆柱铣刀和盘铣刀加工时的进给量(粗、铣)、高速钢立铣刀、角
34、铣刀、半圆铣刀、切槽铣刀和切断铣刀加工钢时的进给量、高速钢立铣刀在钢料上铣槽时的进给量、硬质合金立铣刀加工平面和凸台时的进给量、硬质合金面铣刀、圆柱铣刀和圆盘铣刀加工平面和凸台时的进给量(粗铣)、硬质合金面铣刀、圆柱铣刀和圆盘铣刀加工平面和凸台时的进给量(精铣)。(2) 切削用量库: yg6硬质合金端铣刀铣削灰铸铁的切削用量、yt15硬质合金端铣刀铣削碳钢、铬钢和镍铬钢的切削用量、高速钢细齿圆柱铣刀铣削钢料时的切削用量、高速钢细齿圆柱铣刀铣削灰铸铁时的切削用量、高速钢镶齿圆柱铣刀铣削钢料时的切削用量、高速钢镶齿圆柱铣刀铣削灰铸铁时的切削用量、金刚石端铣刀端铣平面的切削用量、涂层硬质合金铣刀的切
35、削用量等。2.3 铣削加工工艺参数分析 (1)影响铣削速度的参数 选择你所要加工的材料,例如结构碳钢、铬钢、镍铬钢等。由于铣削深度和进给量越大,铣削速度越小,所以要选择合适的铣削速度和进给量,就会得到对应的铣削速度。 (2)影响进给量的参数 选择加工的材料,由于刀杆越宽,刀杆越长,进给量越小。此外,进给量还受到工件直径、切削深度的影响。所以要输入这些参数,就会得到对应的进给量。所以我再用access设计表时,根据不同的材料,输入对应的参数,就完成了。2.4 基于vc的数据库访问设计2.4.1 odbc访问技术的优点访问数据库的方式有很多种,如odbc、dao、ole db 和ado等,其中od
36、bc是被广泛采用的用于数据库访问的应用程序编制接口。对于数据库api,它以x/open和iso/iec的call-lelel interface(cli)规范为基础,并使用结构化查询语言(sql)作为其数据库访问语言。odbc是为最大的互用性而设计的,即一个用相同的源代码能够访问不同的数据库管理系统(dbms),数据库应用程序在odbc接口中调用函数,odbc接口在驱动程序的针对数据库的模块中实现。odbc也是为了给访问关系数据库的客户端应用程序访问数据库时提供一个统一的接口。所以,对于不同的数据库,odbc提供了一套统一的api。应用程序就可以用所提供的api 来访问任何提供了odbc驱动程
37、序的数据库。由于odbc已经成为了一种标准,所以,一般说来,目前使用的所有的关系数据库都提供了odbc驱动程序,这使得odbc的应用范围非常广泛,基本上可以用于所有的关系数据库。因此,本课题选用odbc访问access数据库,只需是把access数据库的部分信息存入数据库,然后就可以进行相应的数据库操纵功能,如记录的增加、删除、修改、查询等。2.4.2 odbc(open database connectivity)简介odbc是客户应用程序访问关系数据库时提供的一个统一的接口。对于不同的数据库,odbc提供了一套统一的api,使应用程序可以应用所提供的api来访问任何提供了odbc驱动程序的
38、数据库。而且odbc已经成为一种标准,所以目前所有的关系数据库都提供了odbc驱动程序,这使odbc的应用非常广泛,基本上可以用于所有的关系数据库。例如,可以用odbc使用foxpro 、access 、sql server oracle等不同的数据库,而使用这些数据库的方法是完全一致的 。odbc为进行数据库应用程序设计提供了极大的方便,只要一种数据库体系支持odbc,我们就可以采用odbc使用统一的方法来实现对这个数据库系统的数据库的存取和查询等操作,而不必知道这个数据库系统本身的存取方式和操作语言。由于odbc是一种底层的访问技术,因此odbc api可以客户应用程序从底层设置和控制数据
39、库,完成一些高层数据库技术无法完成的功能。一个完整的odbc由下列几个部件组成:(1)应用程序(application)。odbc管理器(administrator)。该程序位于windows95控制面板(controlpanel)的32位odbc内,其主要任务是管理安装的odbc驱动程序和管理数据源。驱动程序管理器(drivermanager)。驱动程序管理器包含在odbc32.dll中,对用户是透明的。其任务是管理odbc驱动程序,是odbc中最重要的部件。(2)odbcapi。(3)odbc驱动程序。是一些dll,提供了odbc和数据库之间的接口。(4)数据源。数据源包含了数据库位置和数
40、据库类型等信息,实际上是一种数据连接的抽象。odbc结构图如下:图2.4 odbc结构图2.4.3 vc+中使用odbc的方法 odbc的程序设计是通过一组api函数来实现的。在vc+的mfc应用程序中,可以直接利用这些api来组织数据库应用程序的设计。直接利用odbc的api函数进行程序的开发工作相对比较复杂和难学。为了更方便地利开发数据库应用程序,在mfc中有封装了几个进行数据库操作的mfc类,在这些类中将一些odbc的api函数封装在一起,可以完成一些具体的操作功能,应用这些mfc类可以更快更容易地完成数据库应用程序的设计。这两种开发数据库应用程序的方法个有利弊,直接利用odbc的api
41、函数进行数据库应用程序设计比较复杂,但可以灵活地实现各种功能;而使用mfc中的类进行数据库应用程序设计比较简单易学,但能够实现的功能固定在框架内,不能够灵活地组织框架外的各种功能。采用哪种方法来完成数据库应用程序的设计,主要针对具体的情况,对于实现一些固定数据库结构、固定功能的数据库应用程序设计时,应用mfc类具有较大的优势;而对于需要对数据库进行更多的控制,需要动态创建或维护数据库应用程序设计时,采用odbc的api函数去组织应用程序的设计更加合适。3 程序设计3.1 程序设计总流程图用access建立数据库并用odbc与数据源相连接,把文件中的数据导入数据库,编程实现管理员及用户的权限限制
42、,编程实现数据库的增加、删除、查询、更新等操作, 其程序框图如下:用access建立切削数据库对参数记录进行添加、修改、删除操作vc连接连接access数据库基于vc的数据库管理程序查询切削用量查询进给量显示查询结果刷新数据库输入查询条件显示查询结果输入查询条件 图 3.1 本设计的总体框架流程图3.2 access数据库的建立 在用visual c+ 产生一个数据库应用之前,需要首先创建一个数据源,即为创建的数据库应用程序组织要管理的数据库,里面存放着数控切削参数的详细信息。然后打开microsoft access 软件先建立了一个access的数据库acad.mdb,在数据库中有一个数据表
43、,具体操作步骤请参考access相关书籍。本毕设首先创建了进给量数据库,包括高速钢端铣刀、圆柱铣刀和盘铣刀加工时的进给量(半精铣)、高速钢端铣刀、圆柱铣刀和盘铣刀加工时的进给量(粗、铣)、高速钢立铣刀、角铣刀、半圆铣刀、切槽铣刀和切断铣刀加工钢时的进给量、高速钢立铣刀在钢料上铣槽时的进给量、硬质合金立铣刀加工平面和凸台时的进给量、硬质合金面铣刀、圆柱铣刀和圆盘铣刀加工平面和凸台时的进给量(粗铣)、硬质合金面铣刀、圆柱铣刀和圆盘铣刀加工平面和凸台时的进给量(精铣)数据库如下图: 图3.3 进给量库然后创建了切削用量库,切削用量库包括yg6硬质合金端铣刀铣削灰铸铁的切削用量、yt15硬质合金端铣刀
44、铣削碳钢、铬钢和镍铬钢的切削用量、高速钢细齿圆柱铣刀铣削钢料时的切削用量、高速钢细齿圆柱铣刀铣削灰铸铁时的切削用量、高速钢镶齿圆柱铣刀铣削钢料时的切削用量、高速钢镶齿圆柱铣刀铣削灰铸铁时的切削用量、金刚石端铣刀端铣平面的切削用量、涂层硬质合金铣刀的切削用量等。 图3.4 切削用量库3.3 odbc数据源的建立在vc+中利用odbc进行数据库应用程序设计时,需要首先创建odbc数据库引擎来连接要管理的数据库,odbc作为一个开放的标准数据库应用接口,可以与所有支持odbc的数据库系统的数据库建立联系来存取和使用这些数据库,这个联系是通过创建一个连接这些数据库的odbc数据源来实现的。以下是创建a
45、ccess的odbc数据源的步骤:(1)在windows x下运行开始控制面板管理工具,在管理工具里找到“数据源odbc”图标项,双击该图标,在进入的操作界面中选择“用户dsn”标签。在“用户数据源”列表框中列出的是已经创建的odbc数据源。(2)如果要创建新的数据源,就选择“添加”按钮,弹出创“建新数据源”对话框。在这个界面中,需要选择操作引擎,为了创建连接access数据库的odbc数据源,需要在列表中选择“microsoft access driver(.mdb)”选项,按“完成”按钮,则进入了odbc microsoft access安装对话框。(3)在odbc microsoft a
46、ccess安装对话框界面上,在数据源中输入要安装的数据源的名称,也可以按“选择”按钮,从之前建立的access数据库acad.mdb所在的文件夹中进行选取。然后输入数据库名称,最后按“确定”退出对话框。此时access数据库就与odbc连接上了。3.3.1 odbc管理器可以应用appwizard来建立一个odbc(数控机床参数库)的应用程序框架,也可以直接使用odbc来进行数据库编程,这时,应包括头文件afxdb.h。应用odbc编程两个最重要的类是cdatabase和crecordset,但在应用程序中,不应直接使用crecordset类,而必须从crecordset类产生一个导出类,并添
47、加相应于数据库表中字段的成员变量。随后,重载crecordset类的成员函数dofieldexchange,该函数通过使用rfx函数完成数据库字段与记录集域数据成员变量的数据交换,rfx函数同对话框数据交换(ddx)机制相类似,负责完成数据库与成员变量间的数据交换。3.3.2 开放数据库连接在crecordset类中定义了一个成员变量m_pdatabase:cdatabase *m_pdatabase;它是指向对象数据库类的指针。如果在crecordset类对象调用open()函数之前,将一个已经打开的cdatabase类对象指针传给m_pdatabase,就能共享相同的cdatabase类对
48、象。如:cdatabase m_db;m_ db.open(_t(super_es); / 建立odbc连接m_ set.getrecordcount.m_pdatabase=&m_db; m_ set.movefirst.m_pdatabse=&m_db; 或者:cdatabase db;db.open(“database”); /建立odbc连接crecordset m_set(&db); /构造记录集对象,使数据库指向db3.4 数据源的连接3.4.1 odbc应用程序接口odbcapi是一组标准的odbc函数库,除了一般的数据库操作函数外,还包括一组函数(如sqlexec或sqlexe
49、cdirect)能够内嵌标准sql查询语句。sql(structuredquerylanguage结构化查询语言)是一种存取关系型数据库的标准语言,能够定义、查询、修改和控制数据,简单的语句能够作用于整个数据表格,具有很强的功能。 同windows3.1sdk中api类似,odbcapi也是基于句柄(handle)进行操作的。api函数按功能可分为以下几类:(1) 数据源连接函数,设置/获取有关信息的函数;(2) 准备/提交执行sql查询语句的函数和获得数据的函数;(3) 终止函数和异常处理函数。上述函数的顺序也表示了进行数据库操作的一般顺序。两个问题需要特别说明,一是数据类型问题:数据源中的
50、数据所具有的数据类型称为sql数据类型,这些数据类型在其数据源中可能比较特殊,不一定和odbcsql数据类型存储方式一致,驱动程序把这些数据类型同odbcsql数据类型进行相互转换,每一个odbcsql数据类型都相当于一个odbcc语言数据类型;二是函数的调用级别问题,并不是每一个odbc驱动程序都支持所有的odbcapi函数调用,在应用程序中,可以调用有关函数获取驱动程序以支持层次方面的信息。3.4.2 odbc应用编程 在visualc+中,mfc(microsoftfoundationclass基本类库)是经过对windows应用程序中各个部件进行类的抽象而建立的一组预定义的类,如窗口基
51、类(cwnd)、各种窗口派生类等等,这些类在应用程序中可直接使用,不需要重新定义。在mfc中,也为odbc预定义了几个类,其中主要的是数据库类(cdatabase)和记录集合类(crecoredset)。这两个类既有联系又有区别,在应用程序中,可以分别使用,也可以同时使用,每一类也可以同时存在多个对象。cdatabase的每一个对象代表了一个数据源的连接,crecordset的每一个对象代表了从一 个数据表中按预定的查询条件获得的记录的集合,一般说来,前者适宜于对数据源下的某个数据表格进行整体操作,后者用于对所选的记录集合进行处理。同windows类与sdkapi函数的关系一样,cdataba
52、se类与odbcapi函数也有类似的关系,但cdatabase类中并不包含所有的odbcapi函数,大部分操作功能仍须直接调用odbcapi函数,如目录功能函数,用于获得数据源下的数据表格信息,如表格名,字段名等。在应用编程时,一般使用cdatabase和crecordset的派生类。假设派生类分别为cuserdb和cuserset,而在应用类cuserclass中,使用了一个cuserdb对象(m_db)和一个cuserset对象(m_recset)。(1) m_db连接数据源m_db在完成定义构造后,要调用cdatabase打开(open)函数以进行数据源的实际连接: m_db.open(
53、lpszdsn,bexclusive,breadonly,lpszconnect); 打开函数需要输入四个参数。lpszdsn:要连接的数据源的名字,如果lpszdsn=null且lpszconnect中也没有指明数据源名,则该调用会自动出现一个对话框列出所有可用的数据源(名),让用户选择。bexclusive:只支持“假”(false)值,表示为共享(share)方式连接。因此,应用程序在运行前,一定要装入share.exe或在windows的system.ini中装入vshare.386。readonly:指明数据源操作方式是“只读”还是可以修改。lpszconnect:指明连接字符串,包
54、括数据源名、用户标识码、口令等信息。该字符串必须以“odbc;”开头,表示该连接是与一个odbc数据源的连接(考虑以后版本支持非odbc数据源)。m_db打开后,其指针可以传给m_recset作为其数据源。m_db关闭后,将关闭所有crecordset对它的连接,m_db也可以重新打开。(2) m_db操作数据数据源打开后,即可对数据库文件中的数据表格进行操作,操作以调用sql语句方式进行,可直接通过odbcapi函数,或者cdatabase类成员函数executesql。数据表名在sql语句中指定,如下语句则在所在的数据源中的clerk表中插入一个记录,记录的name字段值为chen。m_d
55、b.executesql(insertintoclerk(name)value(chen); (3) m-recset连接数据m-recset在构造时,可传入一个cdatabase对象指针,作为m_recset的数据源,当为null时,必须重载crecordset的函数getdefaultconnect,以提供数据源连接字符串(相当于m_db.open中的lpszconnect)。如下则表示连接名为company的数据源(当传入了合法的cdatabase对象指针时,该函数将不被调用)。cstringcuserset:getdefaultconnect()returnodbc;dsn=company;(4) m_recset选取记录和字段m_recset在调用打开函数时,即获得了符合条件的一组记录,条件语句在open函数中的lpszsql中给出,如果lpszsql为null,则必须重载crecordset的函数以提供该语句。该语句是一个select语句,带或不带where和orderby子句(如果不带,where和orderby的条件也可在crecordset的两个预定义成员变量m_strfilter和m_strsort中给出)。lpszsql也可以只是一个数据表名(table_name),也可以是对内嵌在数据库文件中的查询程序的调用语句。所选择的一系列字段名,在成员函数d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- KOL合作广告协议
- 养老院观光电梯安装方案
- 岳阳2024年01版小学三年级英语第六单元测验卷
- 矿山排水潜水泵设备配置与调试方案
- 物流服务佣金协议书
- 铸造厂产品退换货制度
- 新兴科技公司项目实施方案
- 有关志愿服务社会实践报告
- 五年级数学下册说课稿
- 流量控制在煤化工合成过程中的作用案例
- 精神科风险评估
- 创建红旗班组总结汇报
- 模板工程质量检验与质量目标
- 家政技能服务流程培训方案
- 泌尿系统感染的预防与处理
- 素质教肓可行性报告
- 人教版五年级数学上册专项计算题12套(每日一练)
- 皮疹的分级及护理课件
- 个人工作中存在的问题和不足及改进措施(6篇)
- 国际法与国际关系的法律与人权维度
- 2023-2024学年深圳市初三中考适应性考试语文试题(含答案)
评论
0/150
提交评论