CAD在工程实践中的二次开发3240.docx

上传人:jix****n11 文档编号:62594914 上传时间:2022-11-22 格式:DOCX 页数:85 大小:854.38KB
返回 下载 相关 举报
CAD在工程实践中的二次开发3240.docx_第1页
第1页 / 共85页
CAD在工程实践中的二次开发3240.docx_第2页
第2页 / 共85页
点击查看更多>>
资源描述

《CAD在工程实践中的二次开发3240.docx》由会员分享,可在线阅读,更多相关《CAD在工程实践中的二次开发3240.docx(85页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、摘 要为了解决困扰工程地质界的隧道地质编录绘图难题,探索实现隧洞设计及施工地质展示图绘图自动化和计算机化的可能途径,本文以田坝岭隧道施工地质为范例,说明铁路隧道地质编录自动成图系统概念和实施要点,通过对AutoCAD平台的二次开发最终实现自动成图的目的。通过本设计过程,使学生掌握计算机辅助设计的基本技能,并具备AutoCAD二次开发的初步技能,提高其应用计算机解决实际问题的能力水平,预期达到以下要求:熟练掌握AutoCAD平台Axtivex 开发技术;初步具备利用关系型数据库管理工程数据的能力。本设计可以实现加入窗体模块编程,每确认一个窗体模块即可实现一项模块功能。使工作量由软件从已编写的数据

2、库文件中提取数据自动生成图形。用铁路隧道地质编录自动成图系统绘制隧道展示图比手工快几十倍甚至更多。关键词:地质展示图 数据库 二次开发 AbstractIn order to solve the trouble DeZhiJie tunnel engineering geological record drawing problem, explore and realize tunnel in the design and construction of geological display figure drawing automation and computerized possible

3、 approach, based on the tunnel construction geological field dam as an example, explain railway tunnel geological record to be automatic mapping system concept and the key points, realized through to the second development AutoCAD platform eventually realize the purpose of automatic mapping.Through

4、the design process, make the students master the basic skills of computer aided design, and with AutoCAD secondary development preliminary skills, improve its application computer solution actual problem ability level, expected to reach the following requirements: master AutoCAD platform development

5、 technology Axtivex; Initially have use of relational database management engineering data ability.This design can realize to join form module programming, each confirmed a form module can be realized a module function. Make work from already written by software database file extract data automatica

6、lly generate graphics. Use railway tunnel geological record to be automatic mapping system draw tunnel show than a few times fast figure by even more.Key word :Geological display figure database Second development目 录第 1 章 绪 论11.1 开发的意义、背景11.2 本设计解决的问题11.3 采用的方法和步骤21.3.1 方法21.3.2 步骤21.4 预期成果3第 2 章 数据

7、库结构设计42.1 数据库中的表42.2 数据库中表的关联图7第 3 章 程序结构93.1 模块93.1.1 Caidan 模块93.1.2 Caidanxianshi 模块93.1.3 CommASS 模块103.1.4 DZSub 模块103.2 窗体103.2.1 工程管理窗体103.2.2 工程数据管理窗体113.2.3 平面数据管理123.2.4 岩性表的管理133.2.5 编录出图133.2.6 打印14第 4 章 重点算法154.1 平面线路方位角的计算154.1.1 任意里程的方位角计算154.1.2 线路走向计算16第 5 章 主要应用技术195.1 ADO技术简介195.1

8、.1 Connection 连接对象195.1.2 Recordset对象205.2 AutoCAD VBA 简介235.2.1 什么是 AutoCAD VBA235.2.2 用 VBA 管理器组织工程245.2.3 处理宏255.2.4 VBA IDE 编辑工程26第 6 章 工程实例286.1 工程名称的录入286.2 岩性表设置296.3 平面数据录入296.4 工程地质数据录入316.5 编录出图37第 7 章 结 论397.1 最终成果397.2 总结397.3 展望39参考文献40致 谢41附录A 外文资料翻译42附录B 代 码56石家庄铁道大学毕业设计第 1 章 绪 论1.1 开

9、发的意义、背景为了解决困扰工程地质界的隧道地质编录绘图难题,探索实现隧洞设计及施工地质展示图绘图自动化和计算机化的可能途径,本文以田坝岭隧道施工地质为范例,提出了铁路隧道地质编录自动成图系统概念和实施要点,实现了通过对AutoCAD平台的二次开发最终实现自动成图的目的。1.2 本设计解决的问题通过对AutoCAD平台的二次开发,完成“铁路隧道地质编录自动成图系统”开发。解决的问题包括:(1)线路平面数据管理模块设计、实现先在数据库里建立平面数据曲线的参数表把平面数据管理起来,然后在VBA中设计窗体和模块。用窗体代码把数据管理起来,模块代码负责显示工具栏菜单和下拉菜单。在CommASS模块中编写

10、公共过程用来调用数据库、执行SQL语言的代码;在窗体里编写可以执行添加、删除和更改,可以显示起点和终点的坐标里程且可以更改数据的代码。(2)地质编录数据管理模块设计、实现为了使平面线路与其相应的地质情况连接起来我们需要把设计、施工时的地质信息录入到数据库表中,为此需要设计两个表和一个窗体来实现本功能。这两个表与name和xianlu表通过E_ID建立主键关系使得工程名称、线路特征、地质情况连接起来。而窗体任然是对表进行修改的一个工具。在数据库里建立sheji和shigong两个表,这两个表管理设计和施工的地质信息。在AutoCAD操作系统中建立窗体和模块,地质编录数据管理模块是要把施工和设计时

11、隧道各个断面的地质情况记录到表中,并且可以通过窗体对其进行操作。同样应用了CommASS模块中编写公共过程调用数据库、执行SQL语言的代码;窗体里编写可以执行添加、删除和更改数据的代码。(3)填充图例管理模块设计、实现填充管理模块用来实现管理岩石特性的功能。为此我们搜集了一个比较齐全的岩性库,然后在数据库里建立表yanxing,用CommASS模块中GetWorkPath过程调用岩性库中我们使用的岩性添加到yanxing表中。具体操作:在数据库里建立yanxing表,这个表管理岩石特性的信息。在AutoCAD操作系统中建立窗体和模块,填充图例管理模块是要把隧道的地质岩性管理到yanxing表中

12、,并且可以通过窗体对其进行操作。同样我们在这里应用了CommASS模块中编写公共过程调用数据库、执行SQL语言的代码;窗体里编写可以执行添加、删除和更改填充比例的代码。(4)自动绘图模块设计、实现自动绘图要实现输入任意一段里程后计算机自动绘制展示图的功能。为此我们需要设计一个窗体,而且此模块需要在DZSub里编写绘制图框、字体、调用展示图投影岩性的代码。具体操作:在AutoCAD操作系统中建立窗体和模块,自动绘图管理模块是要把隧道的投影图绘制出来,并且可以通过窗体对其进行操作。在CommASS模块中编写公共过程调用数据库、执行SQL语言的代码;DZSub模块里编写字体、编写字体边框线、展示图图

13、框定位、展示图文字定位、调用数据库表里的字段记录信息等。窗体里编写可以输入任意起始里程、终止里程以及是否绘制展示图及填充物的代码。(5)控制模块设计、实现控制模块主要是通过对全局的调整实现以上几个模块的链接,通过调试使程序运用更加的方便。1.3 采用的方法和步骤1.3.1 方法铁路隧道地质编录自动成图系统开发就是在可视开发工具提供的图形用户界面上,通过操作界面元素,诸如菜单、按钮、对话框、编辑框、单选框、复选框、列表框和滚动条等,由可视开发工具自动生成的应用软件。1.3.2 步骤软件开发流程一般分为以下六步:(1)相关系统分析和应用需求的初步了解需求,然后用WORD列出要开发的系统的大功能模块

14、,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。(2)系统分析深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还例出相关的界面和界面功能。(3)系统分析和用户再次确认需求。(4)系统分析根据确认的需求文档所例用的界面和功能需求,用迭代的方式对每个界面或功能做系统的概要设计。(5)系统分析把写好的概要设计文档,根据所例出的功能一个一个的编写。(6)测试编写好的系统。使用该程序,一个一个的确认每个功能。1.4 预期成果通

15、过本设计过程,使学生掌握计算机辅助设计的基本技能,并具备AutoCAD二次开发的初步技能,提高其应用计算机解决实际问题的能力水平,预期达到以下要求:(1)熟练掌握AutoCAD平台Axtivex 开发技术;利用AutoCAD平台Axtivex开发技术,在AutoCAD里实现了添加工具栏“地质编录”菜单项,在菜单项编写下拉菜单记录数据最终实现自动绘制展示图的目的。(2)初步具备利用关系型数据库管理工程数据的能力数据库里表建立联系图约束数据的变化,使数据库中的表成为一个不可分离的整体执行任务。42第 2 章 数据库结构设计为了使工作简单化,我们现将平面线路所测数据、沿线围岩级别及地质情况描述录入数

16、据库,这样将具体情况数据化,然后将数据从数据库中调用并在AutoCAD中应用VBA绘制地质情况展示图。2.1 数据库中的表本设计所解决的问题是使隧道中绘制复杂展示图的工作简便,为此我们在SQL数据库中建立一个数据库将线路的信息分类记录到表格中。下面是本程序解决问题时需要在数据库中所建立的几个表及其内容的具体介绍。本工程所建立的数据库中有7个表组成,表名分别为Name、sheji、shigong、weiyanfenji、xianlu、yanxing、YT。以下是几个表的主要信息(1)Name表主要记录了工程的名称、工程的里程信息。并详细记录了字段名称、类型、定义、主键名称等。其中,E_ID表示工

17、程的地址,不同的工程用不同的E_ID来区分;ENAME表示工程名称,不同工程名称用不同的E_ID表示;EPNAME表示工程打印名称;EFX表示是否反向;LC表示工程包含的里程,详细信息见表2-1 。表2-1 Name(工程名称)表包括的字段及内容字段数据类型定义备注E_IDInt工程地址主键ENAMEnvarchar(50)工程名称EPNAMEnvarchar(50)工程打印名称EFXbit反向LCnvarchar(15)工程里程(2)Sheji表主要记录了平面线路沿线的地质水文情况,E_ID表示某个工程对应的水文地质情况;GWID表示不同水文地质的分界标识;GWQZ表示工程水文地质里程的前缀

18、(DK);GWM表示工程水文地质的描述信息;GWLC不同工程水文地质情况分界的里程,详细信息见表2-2。表2-2 sheji(地质描述)表包括的字段及内容字段数据类型定义备注E_IDint工程地址GWIDint工程水文地质地址续表2-2主键GWQZnvarchar(10)工程水文地质前缀GWMdecimal(18, 0)工程水文地质描述GWLCnvarchar(200)工程水文地质里程(3)Shigong表主要记录了沿线施工时的地质情况,E_ID表示不同的工程地址;DM_ID表示施工时的隧道断面划分地址;DMDC表示施工时隧道断面的地层岩性特征;DMSW表示施工时隧道断面的水文情况;DMGC表

19、示隧道断面工程地质特征;DMCZ隧道断面施工时隧道初期支护的概述;DMLC表示施工隧道断面的里程;DMC施工时隧道断面的围岩级别;DMQZ表示施工时隧道断面的里程前缀(DK),详细信息见表2-3。表2-3 shigong(线路里程上的地质情况)表包括的字段及内容字段数据类型定义备注E_IDInt工程地址DM_IDInt线路里程地址主键DMDCnvarchar(100)地层岩性特征DMSWnvarchar(100)水文地质特征DMGCnvarchar(100)工程地质特征DMCZnvarchar(100)初期支护概述DMLCdecimal(18, 0)线路里程DMCnvarchar(20)施工围

20、岩级别DMQZnvarchar(10)线路里程前缀(4)Weiyanfenji表主要记录了在设计线路时各个工程上的地质变化、围岩级别变化的分界里程。其中,E_ID表示某个工程里围岩级别的变化情况;WCC表示某工程的围岩级别变化情况;WCID表示围岩级别变化处的地址;WCLC表示围岩级别变化处的里程;WCQZ围岩级别里程前缀(DK),详细信息见表2-4。表2-4 weiyanfenji(围岩分级)表包括的字段及内容字段数据类型定义备注E_IDInt工程地址WCCsmallint围岩级别WCIDInt围岩分级地址主键WCQZnvarchar(10)围岩级别前缀WCLCdecimal(18, 0)围

21、岩级别里程(5)Xianlu表主要记录了平面线路中曲线的特征值,E_ID表示某工程对应的平面线路的曲线特征;JD_ID表示本工程里线路走向变化的点(交点)信息;X表示平面线路交点的横向坐标值;Y表示平面线路交点的纵向坐标值;R表示缓和曲线中圆曲线半径;lo表示曲线上的缓和曲线长,详细信息见表2-5。表2-5 xianlu(平面数据管理)表包括的字段及内容字段数据类型定义备注E_IDInt工程地址JD_IDInt交点地址主键XReal交点的X坐标YReal交点的Y坐标RReal曲线半径lofloat缓和曲线长(6)Yanxing表主要描述了不同地段的岩性特征,YX_ID表示岩性变化点的地址,通过

22、岩性地址与YT表建立某种联系是的不同隧道断面的岩性描述可以调用此表里的信息;YXMC储存了对不同岩性情况的描述;YXTCT表示岩性的表示方法;YXTCBL表示岩性的比例值,详细信息见表2-6。表2-6 yanxing(岩性描述)表包括的字段及内容字段数据类型定义备注YX_IDInt岩性地址主键YXMCnvarchar(30)岩性描述YXTCTnvarchar(20)岩性的表示方法YXTCBLfloat岩性比例(7)YT表主要记录各个地段的岩性特征及其分界点,YX_ID表示岩性变化点的地址,通过岩性地址与YT表建立某种联系是的不同隧道断面的岩性描述可以调用此表里的信息;YTID岩性特征的分界地址

23、;YTQX表示岩性特征岩石的倾向;YTQJ表示岩性特征岩石的倾角;DM_ID隧道断面地址,详细信息见表2-7。表2-7 YT(岩性特征)表包括的字段及内容字段数据类型定义备注YX_IDInt岩性地址主键YTIDInt岩性特征地址YTQXdecimal(18, 0)f岩性特征倾向YTQJdecimal(18, 0)岩性特征倾角DM_IDInt隧道断面地址2.2 数据库中表的关联图上一节介绍了数据库中建立的表及其内容,具体这几个表之间有什么样的关系,我们是如何利用它们发挥作用的呢?(1)表xianlu里面将E_ID、JD_ID设为主键且E_ID为自动标识列,表name中E_ID设为主键,两个表通过

24、字段E_ID建立约束关系,其中xianlu是主键表,name是外键表。强制外键约束、强制与复制,标识名称是xianlu_name_pk。只有当xianlu表里的内容清空后name表里的工程才可以删除。(2)表sheji里面将GWID设为主键并与name表通过字段E_ID建立约束关系,其中,sheji是主键表,name是外键表,强制外键约束、强制与复制,标识名称是sheji_name_pk。只有sheji表里的内容清空后name表才可以被删除,否则无法对name表进行某些操作。(3)表Shigong里面将DM_ID设置为主键并与name表通过字段E_ID建立约束关系,其中shigong是主键表,

25、name是外键表,强制外键约束、强制与复制、标识名称是shigong_name_pk。只有shigong表里的内容清空后name表才可以被删除,否则无法对name表进行某些操作。(4)表weiyanfenji里面将WCID设置为主键并与name表通过字段E_ID建立约束关系,其中weiyanfenji是主键表,name是外键表,强制外键约束、强制与复制、标识名称是weiyanfenji_name_pk。只有weiyanfenji表里的内容清空后name表才可以被删除,否则无法对name表进行某些操作。(5)表YT里面将YX_ID设置为主键并与yanxing表通过字段YX_ID建立约束关系,其中

26、是YT主键表,yanxing是外键表,强制外键约束、强制与复制、标识名称是YT_yanxing_pk。只有表YT里的内容清空后yanxing表才可以被删除,否则无法对yanxing表进行某些操作。(6)表YT里面将YTID设置为主键并与shigong表通过字段DM_ID建立约束关系,其中YT是主键表,shigong是外键表,强制外键约束、强制与复制、标识名称是YT_shigong_pk。只有YT表里的内容清空后shigong表才可以被删除,否则无法对shigong表进行某些操作。总的来说就是,表YT约束shigong、yanxing表,而表shigong、sheji、weiyanfenji、x

27、ianlu分别通过不同的主键约束表name。图2-1主要描述了表格之间的关系。图2-1 数据库表的关联图第 3 章 程序结构在AutoCAD中新建工程,根据实现功能的需要在新建工程里建立四个模块、六个窗体。四个模块名称分别为:Caidan、Caidanxianshi、CommASS、DZSub。窗体名称分别为:工程管理、工程数据管理、平面数据管理、编录出图、岩性表管理、打印。3.1 模块通过caidan模块添加菜单项及子菜单项,Caidanxianshi项通过show显示各个子菜单对应的窗体。CommASS项调用数据库、工作目录及执行SQL语句,DZSub项包含了本次设计的主要计算部分。它主要

28、包括:图框的绘制、字体大小及位置的设置、里程在那条曲线的判断、方位角的计算、断面投影的计算等。3.1.1 Caidan 模块模块功能说明:本模块属于通用命令,主要功能是创建工具栏菜单,以及下拉菜单项。本模块只有一个Inimenu过程,在该过程里实现了创建新菜单“隧道地质编录”项的目的,且在“隧道地质编录”里添加了工程管理、数据编录、平面数据管理设置、岩性表设置、编录出图、图表打印几个菜单项。在模块里根据要实现的功能编写代码,实现创建新菜单及下拉菜单的目的。Caidan模块代码见附表3-1。3.1.2 Caidanxianshi 模块模块功能说明:本模块主要功能是显示下拉菜单项窗体,并实现其相应

29、操作的功能函数。本模块有两个不同的过程,一个是用frm.Show函数实现工程管理、数据编录、平面数据管理设置、岩性表设置、编录出图几个菜单项窗体的显示功能。另一个同样也使用了frm.Show函数实现图表打印窗体的显示,但在本模块里设置了打印字体及图纸的选择,显示窗体的代码详见附表3-2。3.1.3 CommASS 模块模块功能说明:本模块主要功能是通用辅助,总调用模块用来实现连续调用其它几个模块。本模块共包括10个过程,其中在函 数 SetWorkPath里设置工作目录;在函数GetWorkPath里获得工作目录;在函数 GetDBName里获得数据库表名称;在函数GetTKSize里获取边框

30、尺寸,本过程设置图框选项包括A0、A1、A2、A3、A4图框尺寸;在函数DBOpen里设置数据库表所在的位置打开本地数据库;函数ExecuteSQL在本过程里执行SQL查询,例如select、update、delete、insert语句;函数MakeLCStr本过程主要是规范里程书写格式,是里程书写规范化;函数MakeWCStr里实现了围岩分级由数字转化为希腊数字的功能;在函数MakeOldFWJ里方位角的度数表示,模块具体的代码见附表3-3。3.1.4 DZSub 模块本模块包含了图框的绘制、字体的大小及定位、图框布局的设计、方位角的计算等程序的编写。这里应用了CommASS模块中编写公共过

31、程调用数据库、执行SQL语言的代码;DZSub模块里编写字体DrawOneText过程,编写字体边框线DrawLineText过程,展示图图框定位DrawOneZHSK过程,展示图文字定位DrawOneZHSText过程,调用数据库表里的字段GetJLDMID、GetJLWCID、GetJLWCID_BW、GetJLGWID_BW、GetJLDMID_BW的记录,编写计算方位角的函数利用getXLzx、getZXzx、getQXzx、GFfwj、调用函数。窗体里编写可以任意起始里程、终止里程,以及是否绘制展示图及填充物的代码,本模块详细代码见附表3-43.2 窗体本设计共有7个窗体其中一个窗体

32、是被工程管理这个窗体添加工程时调用的,下面介绍几个窗体的作用。3.2.1 工程管理窗体工程管理窗体的作用是实现对工程的操作,在本窗体里我们可以用insert语句在数据库name表里添加新的工程,用delete语句删除name表里不用的工程,还可以对原有工程名称用update语句进行修改。窗体按钮布局如图3-1所示。图3-1 工程管理3.2.2 工程数据管理窗体本窗体主要实现了工程项目施工和设计时层面特征、基本特征的数据录入,使工程的信息完整化。设计时窗体按钮布局如图3-2所示,施工时窗体按钮布局如图3-3所示。图3-2 工程数据管理-设计本窗体同样需要初始化事件Initalize,同时窗体的添

33、加、删除、更新、退出等单击事件Click与工程管理模式相同这里不再赘述。唯一需要说明的是选择框的实现,它需要在窗体初始化时就调用否则在文本框里将不能同步显示围岩级别。下面代码是围岩级别的定义。图3-2 工程数据管理-设计3.2.3 平面数据管理本窗体主要实现了工程与平面线路的对应关系,而且还实现了起点和终点坐标里程的更改曲线特征的添加、删除和更改。窗体设置及按钮布局如图3-3所示。图3-3 平面数据管理里3.2.4 岩性表的管理本窗体的功能是把沿线地质岩性类型添加到岩性表,使数据库数据完整方便绘图时调用数据库,窗体设置及按钮布局如图3-4所示。图3-4 岩性表管理3.2.5 编录出图通过上面工

34、程的建立数据的录入我们就可以通过编录出图窗体来实现调用模块及数据库绘制图形的目的。窗体布置及按钮布局如图3-5所示。图3-5 编录出图3.2.6 打印本窗体实现图形的打印,窗体设置及按钮布局如图3-6所示。 图 3-6打印第 4 章 重点算法为了实现展示图图例填充角度的计算,首先应该计算任意一点的方位角,然后根据方位角确定线路走向,最后根据线路走向确定与沿线隧道断面的投影角度,最终实现正确的展示图图例填充角度。4.1 平面线路方位角的计算计算任意里程的方位角需要的参数有:lo、R、X、Y、起点里程,将参数代入以下公式计算任意里程的方位角。4.1.1 任意里程的方位角计算4.1.1.1 参数计算

35、圆曲线在ZHXY坐标下的切线角 (4-1)缓和曲线在ZHXY坐标下的切线角 (4-2)内移参数 (4-2)增值参数 (4-3)4.1.1.2 主点定位参数缓和曲线的切线长 (4-4)缓和曲线的曲线长 (4-5)缓和曲线的外失距 (4-6)4.1.1.3 计算主点里程ZH点里程: (4-7)HY点里程: (4-8)YH点里程: (4-9)HZ点里程: (4-10)QZ点里程: (4-11)4.1.2 线路走向计算4.1.2.1 计算两点间距和方位角已知起点坐标(qx,qy)、终点坐标(zx,zy),求直线的方位角 (4-12) (4-13) (4-14)1)如果dx 0,dy 0 ,则方位角a在

36、第一象限;2)如果dx 0,dy 0 ,则方位角a在第二象限;3)如果dx 0 ,则方位角a在第三象限;4)如果dx 0,dy 0 ,则方位角a在第四象限;5)如果dx 0 ,则方位角a在第三象限; (4-15) (4-16)判断线路走向:若a0 ,说明左转,否则右转, 如果a0则转角取a-360的正值,否则取a。4.1.2.2 参数计算1、圆曲线在ZHXY坐标下的切线角 (4-17)2、缓和曲线在ZHXY坐标下的切线角 (4-18)3、内移参数 (4-19)4、增值参数 (4-20)5、缓和曲线的切线长 (4-21)6、缓和曲线的曲线长 (4-22)7、缓直点坐标和里程 (4-23) (4-

37、24) (4-25) (4-26)1)如果且,则所求里程点在直线上,2)如果 且 ,则所求里程点在缓和曲线上 (4-27) (4-28)a0时,曲线走向=a1+;a0时,曲线走向=a2+;a0时,曲线走向=a2-。5)如果或者,则里程不在工程范围6)如果,则所求里程在直线上,线路走向=a14.1.2.3 规范方位角方位角必须定位在(-360,360)之间,如果超出此范围则需要修正: (4-33) (4-34)第 5 章 主要应用技术5.1 ADO技术简介ADO是一种为基于Internet并且以数据为中心的应用程序而提供的数据访问接口,这种应用程序接口和应用程序使用的语言无关。通过ADO,应用程

38、序可以方便地存取、查询、操作数据库中的数据。ADO提供了几个独立的子对象,利用这些子对象,就可以实现对数据库的访问,在这几个对象中,Connection、Command和RecordSet对象是整个ADO的核心 。5.1.1 Connection 连接对象 Connection对象用于建立和管理应用程序与数据源的连接,也可以用它来执行一个命令。想要读取数据库中的数据,第一步就是要与数据库取得连接,最常用的连接方式是利用连接字符串进行直接连接。 1、建立连接对象 在进行连接之前,必须要先声明一个对象来作为ASP程序和数据库之间的连接媒介,声明的方法如下:Set对象变量名称=Server.Crea

39、teObject(“ADODB.Connection”)2、连接数据源 Connection对象中有一个方法:OPEN,专门用来打开Connection对象与数据库之间的通道,实现数据源与ASP程序的真正连通。(1)OPEN方法使用格式如下:对象变量.OPEN连接字符串 其中,连接字符串是说明欲连接数据库的类型及数据库的名称。连接字符串有两种不同格式的描述方法。(2)对于ACCESS类型的数据库的连接字符串格式 Driver=Microsoft Access Driver (*mdb); DBQ=指向.MDB文件的物理路径; UID=; PWD=密码(3)对于SQL Server类型的数据库的

40、连接字符串格式 Driver=SQL Server; Database=数据库名称; server=服务器名称; UID=用户名; PWD=密码3、关闭连接 当不再需要使用连接对象时,需要用CLOSE方法来关闭连接以释放系统资源。(1)关闭连接对象的命令格式为:连接对象变量名.Close 或 Set 连接对象变量名=Nothing关闭对象并非将它从内存中删除,以后仍可以更改它的属性设置并且再次打开。(2)若要将对象从内存中完全删除,可将对象变量设置为Nothing。4、执行SQL查询 通过Connection对象的Execute方法执行SQL命令。根据SQL命令执行后是否返回记录集,Execu

41、te方法的使用格式可分以下两种方式。(1)执行SQL命令后,不返回记录集在执行像Insert、Delete、Update等命令时,操作结果不会返回记录集,它只是对数据库完成一种操作,可以使用下列格式的命令:连接对象名.Execute “SQL命令” n ,N:是一个可选项变量名。用于保存命令执行后受影响的记录的条数,如删除的记录数。 (2)执行SQL查询命令,返回查询得到的记录集 用Execute方法对数据表进行查询得到的结果通常是一个二维表形式的数据集合,为了更好地应用查询结果,经常把查询结果存储在一个记录集对象中。格式如下:Set 记录集对象变量名称=连接对象变量名.Execute “SQ

42、L命令” 例如:Set Rs = Cn.Execute “SELECT * FROM 注册用户”查询表“注册用户”中所有字段所有记录,以此建立名为 rs 的RecordSet对象的实例。以后就可以应用Rs对象的各种方法进行操作,非常方便。5.1.2 Recordset对象 Recordset对象是一个记录的集合,它用于保存通过查询所获得的记录结果。RecordSet对象包含多条记录,每个记录包含多个字段,在任何时刻,只有一条记录是当前记录。通过使用Recordset 对象可以对记录进行各种操作,如增删记录、更新记录、在表中移动指针等。1、创建Recordset 对象 第一种方法前面介绍过的通过连接对象的Execute()方法返回的查询结果自动创建RecordSet,这种方法创建的记录集对象可以直接使用,而不用先创建对象实例。实现的语法分别如下:Set 对象变量名 = 连接对象变量名.Execute(“SQL命令”)如:Set RS = Cn.Execute(“Select * From 注册用户”) 执行查询,产生记录集另一种方法是先用Sever对象的CreateObject方法创建记录集对象实例。Set 对象变量名 = Server.CreateObject(“ADODB.Rec

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁