VB中ADO对象访问数据库编程方法解析
- 格式:doc
- 大小:80.50 KB
- 文档页数:13
VBA中操作数据库的高级技巧在VBA编程中,操作数据库是非常常见且重要的任务。
无论是访问和读取数据库中的数据,还是对数据库进行修改和更新,掌握一些高级技巧可以提高效率和灵活性。
本文将分享一些VBA中操作数据库的高级技巧,帮助您更好地处理数据库操作任务。
1. 使用ADO对象连接数据库ADO(ActiveX Data Objects)对象是VBA中操作数据库的主要工具之一。
通过使用ADO对象,我们可以连接到数据库,并执行各种操作。
以下是连接数据库的代码示例:```vbaDim conn As ObjectSet conn = CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\Path\To\Database.accdb;"```上述示例演示了如何连接到一个Access数据库。
您可以根据自己使用的数据库类型和连接字符串进行相应的修改。
2. 执行SQL查询语句一旦连接到数据库,您可以使用SQL语句对数据库进行查询。
VBA中的SQL语句与常见的SQL语言非常相似。
以下是一个示例,演示如何执行SQL查询语句并返回结果到一个记录集对象:```vbaDim rs As ObjectSet rs = CreateObject("ADODB.Recordset")rs.Open "SELECT * FROM TableName", connDo Until rs.EOF'处理记录集数据rs.MoveNextLooprs.CloseSet rs = Nothing```在上述示例中,我们使用SELECT语句查询数据库中的所有记录,并将结果存储在一个记录集对象中。
然后,我们可以使用循环来处理每个记录的数据。
在VB中常用的数据库访问接口有三种,即DAO、RDO、ADO 三种对象模式。
三种模式的具体解释见上篇文章:DAO/RDO/ADO,ODBC,OLEDB之间的关系本篇文章我们重点介绍一下ADO的应用。
一:ADO的简介ADO(ActiveX Data Object)是由微软公司开发的最新的数据库访问接口技术,因为ADO技术对OLEDB(Object Link and Embedding DataBase)进行了封装并实现了OLEDB所有的功能,所以ADO通过OLEDB可以访问任何类型的数据源,并且减少了编程量。
ADO访问数据库的体系可以概括为:二:基本流程:ADO访问数据库的目标是访问、编辑和更新数据源,因此使用ADO进行数据访问时,一般需要经过一下步骤:(1)创建一个数据源的连接,连接数据库。
Set objCn = NewConnectionstrcn ="provider=microsoft.jet.oledb.4.0;persist security info=false;" &_"data source=" &App.Path & "\实例1.mdb" objCn.ConnectionString = strcnobjCn.Open(2)设置一个命令来访问数据源的数据。
(3)执行命令。
Set objCmd = New CommandSet objCmd.ActiveConnection = objCnWith objCmd.CommandText = "select * from 系统用户where 用户名 like ?" & "and 身份 like ?".CommandType = adCmdTextEnd WithDim Parm As New ParameterSet Parm =objCmd.CreateParameter("用户名", adVarChar, adParamInput, 10)objCmd.Parameters.Append ParmSet Parm =objCmd.CreateParameter("身份", adVarChar, adParamInput, 10)objCmd.Parameters.Append Parm(4)如果命令的执行导致返回数据库中表的某些行,则将他们保存在缓存中,产生相应的数据集对象,以便对其进行操作。
ActiveX数据对象ADO是一种数据访问接口,可以与符合OLE DB标准的数据源通信,以检索、操作和更新数据。
ADO的最大优点是易于使用,速度快,内存占用低,占用磁盘空间少等。
一般而言,利用ADO进行数据访问和操作的主要步骤是:(1)连接数据源;(2)设置查询命令;(3)执行查询命令。
在典型情况下,需要在编程过程中按照步骤进行编程。
但是,由于 ADO 有很强的灵活性,所以很多情况下只需执行部分模块就能完成需要的功能。
ADO对象库中主要有9个对象,即:Connection、Command、Recordset、Record、Field、Error、Property、Parameter和Stream。
这9个对象中又有三个即Connection、Command、Recordset是最为常用的,很多情况下只需要这三个对象即可完成数据的读取和操作。
12.4.2 Connection对象ADO Connection 对象代表了打开的、与数据源的连接,好像在应用程序和数据库中建立了一条数据传输连线,该对象代表了与数据源进行的惟一会话。
如果是C/S数据库系统,该对象可等价于到服务器的实际网络连接。
通过此连接,用户可以对被连接到的数据源进行访问和操作。
如果需要多次访问某个数据库,用户应当使用 Connection 对象来建立一个连接。
如下例所示的就是在ASP语言中创建Connection对象并建立连接:<%Set Conn=Server.Createobject("ADODB.Connection")Conn.Provider="Microsoft.Jet.OLEDB.4.0"Conn.Open "C:/Webdata/Northwind.Mdb"Response.Write(Conn.Provider)Conn.Close%>在上面的例子中使用了Connection对象的Provider属性和Open方法,关于Connection 对象的更多属性和方法,请参阅帮助中心的ADO程序员参考。
VB用ADO和DAO连接数据库的几种方法-、用DAO控件连接数据库1.与Access2000数据库连接Private Sub Command1_Click()'也可直接在控件属性中设置以下各项但在控件属性中不能写入密码'只有在数据数没有密码的情况下可以省略Data1.RefreshData1.Connect="Access2000;"Data1.DatabaseName=App.Path+"\chncmadb.mdb"'数据库没有密码此句可省Data1.Connect=";pwd=123456"'Data1.RecordSource="耕地资源管理单元属性数据表2004"Data1.RecordSource="select*from耕地资源管理单元属性数据表2004" Data1.Refresh’move后才能正确显示记录个数End Sub2.与没有密码的DBF文件数据库连接Private Sub Command2_Click()Data1.Connect="dBASE III;"Data1.DatabaseName=App.Path'Data1.RecordSource="DBF"Data1.RecordSource="select*from dbf"Data1.Refresh’move后才能正确显示记录个数End Sub3.与没有密码的Excel文件数据库连接Private Sub Command3_Click()Data1.Connect="Excel8.0;"Data1.DatabaseName=App.Path&"\EXcel.xls"Data1.RecordSource="select*from[EXcel.xls]"Data1.Refresh’move后才能正确显示记录个End Sub二、用DAO代码连接数据库'在使用DAO对象前应选定Visual Basic菜单下的[工程]中的引用了菜单中的[Microsoft DAO3.6Object Library]选项,或其它版本1.DAO代码与Access数据库连接Private Sub Command1_Click()Dim Db As DatabaseDim Rs As Recordset'以共享、读写方式打开'如果无密码最后一个参数可以不要SetDb=OpenDatabase(App.Path&"\chncmadb.mdb",False,False, ";pwd=123456")'不需要move来更新记录个数'Set Rs=Db.OpenRecordset("耕地资源管理单元属性数据表2004")'需要move来更新记录个数Set Rs=Db.OpenRecordset("select*from[耕地资源管理单元属性数据表2004]")If Rs.RecordCount>0ThenRs.MoveLastRs.MoveFirstEnd IfEnd Sub2.DAO代码与没有密码的DBF文件数据库连接Private Sub Command2_Click()Dim Db As DatabaseDim Rs As Recordset'以共享、读写方式打开Set Db=OpenDatabase(App.Path,False,False,"dbase III;")'不需要move来更新记录个数'Set Rs=Db.OpenRecordset("DBF")’需要move来更新记录个数Set Rs=Db.OpenRecordset("select*from[DBF]")If Rs.RecordCount>0ThenRs.MoveLastRs.MoveFirstEnd IfEnd sub3.'DAO代码与没有密码的Excel文件数据库连接Private Sub Command3_Click()Dim Db As DatabaseDim Rs As Recordset'以共享、读写方式打开'如果无密码最后一个参数可以不要SetDb=OpenDatabase(App.Path&"\EXcel.xls",False,False,"Excel 8.0;") '不需要move来更新记录个数'Set Rs=Db.OpenRecordset("EXcel.xls")'表格中的工作目录sheet'需要move来更新记录个数Set Rs=Db.OpenRecordset("select*from[EXcel.xls]")'表格中的工作目录sheet'If Rs.RecordCount>0ThenRs.MoveLastRs.MoveFirstEnd IfEnd Sub三、用ADO控件连接数据库'也可直接在控件属性中设置以下各项1.ADO控件与Access2000数据库连接Private Sub Command1_Click()'连接有密码的Access数据库'Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&App.Path&"\chncmadb1.mdb;Jet OLEDB:DataBase PASSWORD=123456"'连接没有密码的Access数据库Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4 .0;Data Source="&App.Path&"\chncmadb.mdb;Persist Security Info=False"'Adodc1.RecordSource="[耕地资源管理单元属性数据表2004]"Adodc1.RecordSource="select*from[耕地资源管理单元属性数据表2004]"Adodc1.RefreshSet DataGrid1.DataSource=Adodc1DataGrid1.RefreshEnd Sub2.'ADO控件与DBF表连接Private Sub Command2_Click()'Adodc1.ConnectionString="Provider=MSDASQL.1;Persist Security Info=False;Data Source=dBASE Files;DBQ="&App.Path&";SourceType=DBF;"'Adodc1.ConnectionString="Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=DSN=Visual FoxPro Tables;UID=;SourceDB=”&app.path&”;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Colla te=Machine;N ull=Yes;Deleted=Yes;"'Adodc1.ConnectionString="Provider=MSDASQL.1;PersistSecurity Info=False;Extended Properties=DSN=dBASE Files;DBQ=”&app.path&”;;DefaultDir=”&app.path&”;DriverId=533;MaxBufferSize=2048;PageTimeout=5;"'能使表名长度不受限制Adodc1.ConnectionString="Provider=MSDASQL.1;Driver=M icrosoft Visual Foxpro Driver;SourceDB="&App.Path&";SourceType=DBF;Locale Identifier=2052"'Adodc1.RecordSource="[DBF1]"Adodc1.RecordSource="select*from DBF1"Adodc1.RefreshSet DataGrid1.DataSource=Adodc1DataGrid1.RefreshEnd Sub3.'ADO控件与Excel表连接Private Sub Command3_Click()'下面一句测试未能通过'Adodc1.ConnectionString="DataProvider=MSDASQL.1;driver=Microsoft Excel Driver*.xls);DBQ="& App.Path&"\EXcel.xls"'Adodc1.ConnectionString="Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=DSN=Excel Files;DBQ="&App.Path& "\EXcel.xls;DefaultDir=”&app.path &”;DriverId=790;MaxBufferSize=2048;PageTimeout=5;"Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="&App.Path&"\EXcel.xls;Extended Properties='Excel 8.0;HDR=Yes'"'Adodc1.RecordSource="[EXcel.xls]"Adodc1.RecordSource="select*from[EXcel.xls]"Adodc1.RefreshSet DataGrid1.DataSource=Adodc1DataGrid1.RefreshEnd Sub4.'ADO控件与Oracle数据库连接Private Sub Command4_Click()'Adodc1.ConnectionString="Provider=MSDAORA.1;Password=chncmadb;UserID=chncmadb;Data Source=towebserver;Persist Security Info=True"Adodc1.ConnectionString="Provider=OraOLEDB.Oracle.1;Pa ssword=chncmadb; Persist Security Info=True;User ID=chncmadb;Data Source=towebserver"'Adodc1.RecordSource="T320481TR012004"'表名不能加方括号Adodc1.RecordSource="select*from T320481TR012004"Adodc1.RefreshSet DataGrid1.DataSource=Adodc1DataGrid1.RefreshEnd Sub5.'ADO控件与SQLserver数据库连接'未测试Private Sub Command5_Click()Adodc1.ConnectionString="Provider=SQLOLEDB.1;Password=111;Persist Security Info=True;User ID=111;Initial Catalog=111;Data Source=111"'Adodc1.RecordSource="T320481TR012004"Adodc1.RecordSource="select*from T320481TR012004"Adodc1.RefreshSet DataGrid1.DataSource=Adodc1DataGrid1.RefreshEnd Sub四、用ADO代码连接数据库'在使用ADO对象前应选定Visual Basic菜单下的[工程]中的引用了菜单中的[Microsoft.ActiveX Data Object2.5Library]选项,或其它版本1.'ADO代码与Access2000数据库连接Private Sub Command1_Click()Dim AdoCnn As ADODB.ConnectionDim AdoRs As ADODB.RecordsetSet AdoCnn=New ADODB.ConnectionSet AdoRs=New ADODB.RecordsetAdoCnn.CursorLocation=adUseClient'.open后面的字符串可以参考ADO控件连接.ConnectionString 后面的的字符串AdoCnn.Open"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& App.Path&"\chncmadb1.mdb;Jet OLEDB:DataBase PASSWORD=123456"AdoRs.Open"select*from[耕地资源管理单元属性数据表2004]",AdoCnn, adOpenDynamic,adLockPessimistic,adCmdText Set DataGrid1.DataSource=AdoRsSet AdoRs=NothingSet AdoCnn=NothingEnd Sub2.'ADO代码与DBF表连接Private Sub Command2_Click()Dim AdoCnn As ADODB.ConnectionDim AdoRs As ADODB.RecordsetSet AdoCnn=New ADODB.ConnectionSet AdoRs=New ADODB.RecordsetAdoCnn.CursorLocation=adUseClient'.open后面的字符串可以参考ADO控件连接.ConnectionString 后面的的字符串AdoCnn.Open"Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB="&App.Path&";SourceType=DBF;Locale Identifier=2052"AdoRs.Open"select*from[DBF1]",AdoCnn,adOpenDynamic, adLockPessimistic,adCmdTextSet DataGrid1.DataSource=AdoRsSet AdoRs=NothingSet AdoCnn=NothingEnd Sub3.'ADO代码与Excel表连接Private Sub Command3_Click()Dim AdoCnn As ADODB.ConnectionDim AdoRs As ADODB.RecordsetSet AdoCnn=New ADODB.ConnectionSet AdoRs=New ADODB.RecordsetAdoCnn.CursorLocation=adUseClient'.open后面的字符串可以参考ADO控件连接.ConnectionString 后面的的字符串AdoCnn.Open"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="&App.Path&"\EXcel.xls;ExtendedProperties='Excel8.0;HDR=Yes'"AdoRs.Open"select*from[EXcel.xls]",AdoCnn,adOpenDynam ic, adLockPessimistic,adCmdTextSet DataGrid1.DataSource=AdoRsSet AdoRs=NothingSet AdoCnn=NothingEnd Sub4.'ADO代码与Oracle数据库连接Private Sub Command4_Click()Dim AdoCnn As ADODB.ConnectionDim AdoRs As ADODB.RecordsetSet AdoCnn=New ADODB.ConnectionSet AdoRs=New ADODB.RecordsetAdoCnn.CursorLocation=adUseClient'.open后面的字符串可以参考ADO控件连接.ConnectionString 后面的的字符串AdoCnn.Open"Provider=OraOLEDB.Oracle.1;Password=chnc madb;Persist Security Info=True;User ID=chncmadb;Data Source=towebserver"AdoRs.Open"select*fromT320481TR012004",AdoCnn,adOpenDynamic, adLockPessimistic,adCmdTextSet DataGrid1.DataSource=AdoRsSet AdoRs=NothingSet AdoCnn=NothingEnd Sub5.'ADO代码与SQLserver数据库连接'未测试Private Sub Command5_Click()Dim AdoCnn As ADODB.ConnectionDim AdoRs As ADODB.RecordsetSet AdoCnn=New ADODB.ConnectionSet AdoRs=New ADODB.RecordsetAdoCnn.CursorLocation=adUseClient'.open后面的字符串可以参考ADO控件连接.ConnectionString 后面的的字符串AdoCnn.Open"Provider=SQLOLEDB.1;Password=111;Persist SecurityInfo=True;User ID=111;Initial Catalog=111;Data Source=111"AdoRs.Open"select*fromT320481TR012004",AdoCnn,adOpenDynamic, adLockPessimistic,adCmdTextSet DataGrid1.DataSource=AdoRsSet AdoRs=NothingSet AdoCnn=NothingEnd Sub。
在VB中用ADO实现数据库访问作者:李静来源:《合作经济与科技》2009年第08期提要本文介绍了Visual Basic数据库访问技术发展的历史,详细阐述了利用ADO以非编程方式及编程方式实现数据库访问的方法。
关键词:VB;ADO;ADO Data控件;ADO对象模型中图分类号:F407.67文献标识码:AVisual Basic作为一种面向对象的可视化编程工具,具有简单易学、灵活方便和易于扩充的特点,并且支持一套出色的数据库访问技术。
Microsoft为其提供了与SQL Server通信的API函数集及工具集,因此它越来越多地用作前台应用程序的开发,与后台的Microsoft SQL Server相结合,从而提供一个高性能的客户机-服务器方案。
一、VB数据库访问技术的发展早期的Visual Basic数据访问工具是简单的ASCII文件访问工具,极少数SQL Server 的前端应用程序是数据接口VBSQL编写的。
在Visual Basic 3.0时代,许多用户强调转移包含远程数据源的ISAM(Indexed Sequential Access Method,索引顺序存取法)数据,为此Microsoft 设计了Microsoft Jet Database Engine(或简称为Jet)和DAO(Data Access Object),使得Visual Basic Access开发人员很容易地同Jet接口,其操作针对记录和字段,主要用于开发单一的数据库应用程序。
随着使用者需求的不断改变,Visual Basic又包含了更快的访问远程数据和对ODBC数据源访问的优化,出现了新的数据库接口RDO(Remote Data Object),它是访问关系型ODBC数据源的最佳界面接口,其操作针对行和列。
ADO(ActiveX Data Objects)作为另一种可供选择的技术出现,正在逐渐代替其他数据访问接口。
VB6.0使用ADO对象连接数据库:有偿征集原创文章,为您创收投递文章减小字体增大字体1.定义连接对象Global DBconnect As New ADODB.Connection2.执行连接语句If DBconnect.State = adStateOpen And Not IsEmpty(adStateOpen) Then DBconnect.Close l 连接ODBC DBconnect.ConnectionString = "dsn1.定义连接对象Global DBconnect As New ADODB.Connection2.执行连接语句If DBconnect.State = adStateOpen And Not IsEmpty(adStateOpen) Then DBconnect.Close连接ODBCDBconnect.ConnectionString = "dsn=DataAliasName;uid=UserID;pwd=Passwd;"直接连接Access为Dbconnect.Provider = "Microsoft.jet.OLEDB.4.0" // Access 97为3.51 DBconnect.ConnectionString = "FilePathFileName.mdb"连接OracleDBconnect.Provider = "MSADORA"DBconnect.ConnectionString = "user/mypassservicename连接SQL ServerDBconnect.Provider = "SQLOLEDB.1"DBconnect.ConnectionString = "DATABASE= ;SERVER= ;UID= ;PWD= ;"或者可以使用 DBconnect.Open "SERVER" , "USERID" , "PASSWORD"DBConnect.Open3.取查询结果集Global RS As New ADODB.RecordsetGlobal PS As New ADODB.RecordsetIf RS.State = adStateOpen And Not IsEmpty(adStateOpen) Then RS.CloseRS.Open SQLStr, DBconnect, adOpenKeyset4.执行SQL语句DBconn.Execute SQLStr5.关闭数据库DBconnect.CloseVB使用ADO数据库可以分为有源数据库和无源数据库,即是否使用了DSN数据源,如下例:1、在连接数据库前首先要在VB菜单中“工程”-“引用”从中选择 microsoft activeX Data objects 2.6 library和 microsoft activeX Data objects recordset 2.6两个组件,这是在连接数据前所必做的工作。
在VBA中使用ADO对象处理数据库VBA(Visual Basic for Applications)是一种编程语言,它可以与Microsoft Office应用程序(如Excel、Access、Word等)集成。
通过使用VBA,我们可以自动化执行各种任务,包括处理数据库。
在本文中,我们将探讨如何使用VBA中的ADO(ActiveX Data Objects)对象处理数据库。
ADO是Microsoft提供的一个用于访问数据库的COM 组件。
首先,我们需要了解一些基本的概念和术语。
数据库是一个结构化存储数据的容器,它由表(Table)组成,每个表包含多个记录(Record)。
每个记录由一行表示,每行由多个字段(Field)组成。
字段是记录中的单个数据项。
要处理数据库,我们需要使用SQL(Structured Query Language)语句来执行各种操作,如查询、插入、更新和删除数据。
接下来,我们将讨论如何使用VBA中的ADO对象连接到数据库。
首先,我们需要在VBA编辑器中启用对ADO的引用。
在“工具”菜单下选择“引用”,然后勾选“Microsoft ActiveX Data Objects x.x Library”。
接下来,我们可以通过创建一个ADODB.Connection对象来建立与数据库的连接。
下面是一个示例代码,展示了如何通过ADO对象连接到数据库:```vbaDim conn As ADODB.ConnectionSet conn = New ADODB.Connectionconn.ConnectionString = "Provider=SQLOLEDB;Data Source=数据库服务器名称;Initial Catalog=数据库名称;User ID=用户名;Password=密码"conn.Open```上面的代码使用SQL Server作为数据库服务器,连接字符串中指定了服务器名称、数据库名称、用户名和密码。
1引言目前在Visual Basic中开发数据库程序主要有D A O、R D O、A D O、O D B C四种数据库开发技术。
其中最流行的是A D O。
它是基于全新的O L E D B 技术。
O D B C本身是以SQL Server、Oracle等关系数据库作为访问对象;O L E D B则不仅限于此,而将是可以对电子邮件、文本文件、复合文件、数据表等各种各样的数据通过统一的接口进行存取的技术。
O L E D B不能从V B直接进行访问,但可以通过称为A D O的C O M 接口对它进行访问。
A D O也是开发基于W e b数据库应用软件的最佳手段。
A D O编程主要有两种方式,一种是A D O控件编程,即在程序的窗体当中必须添加A D O控件,然后通过调用A D O控件的属性和方法来进行编程。
但在开发大型数据库的时候,很少直接使用A D O控件来进行编程,而是在程序中调用A D O的对象即Connection、RecordSet等进行编程。
2基本原理A D O编程接口包括6个重要的对象,具体如下。
Connection(连接:这个接口表示正在使用的数据源和A D O接口之间的连接。
任何与数据源有交互连接的A D O都可能导致一个或多个从数据源返回的错误,因此C o n-nection接口包含了产生所有错误的接口。
E r r o r(错误集:这个接口表示一个由数据源返回的错误。
相对于Connection的错误集,Error更具体。
可以利用一个Error 来判读出错的准确原因。
C o m m a n d(命令:这个接口表示一个能被数据提供者处理的命令。
C o m m a n d接口可以返回一个R e c o r d S e t记录集或执行一个动作(如查询、修改、删除或插入。
任何时候查询或存储过程能接收的数据都能通过Parameter接口传给它。
Parameter(参数:这个接口表示传给C o m m a n d的参数。
如果C o m m a n d对象表示一个存储过程,就接收一个限制操作记录个数的参数,这时就创建了一个P a r a m-e t e r对象,在C o m m a n d对象执行前它被加在Parameter集合中。
RecordSet(游标:这是个最复杂、功能最强大的接口。
在RecordSet接口中,含有包含数据的游标。
实际上,这个对象在使用A D O的应用程序中完成多种操作。
Field(字段:Field接口表示RecordSet 对象中的某一列数据,这个接口允许改变数据,同时能返回游标对象的一些关于数据本身的属性和参数。
3程序实现以下程序设计以V B作为前台开发工具,以SQL Server作为后台数据库管理工具举例。
A D O对象访问数据库编程方法主要分为如下7个步骤。
3.1引入ADO对象为了能够在程序中使用A D O对象编程,必须在程序中引入A D O对象。
引入该对象的方法有很多,可直接向工程中引入A D O控件,系统会自动引入A D O对象;或者直接引入A D O对象,引入的步骤如下:选择菜单【工程】→【引用】命令,进入界面,选择“Microsoft ActiveX Data Objects 2.7Library”(有不同版本,也可以选择2.5、2.6等。
3.2声明ADO对象为了能够在程序中使用A D O对象,首先需要声明该对象。
声明的语句如下:Private myconn as New ADODB.Con- nectionP r i v a t e m y r e s a s N e w A D O D B. Recordset以下语句声明了C o n n e c t i o n和RecordSet对象,如果想声明全局变量,以便在整个程序中都可以使用,则可以向程序中加入一个模块文件(.bas文件,然后在其中通过“P u b l i c”关键字来声明。
3.3创建ADO对象实例声明了对象以后,还需要创建对象实例,否则不能使用。
以下是两条重要语句:s e t m y c o n n=N e w A D O D B.C o n n e c-tionset myres=New ADODB.Recordset3.4设置Connection对象实例的ConnectionString 属性连接到数据库有两种方法连接到数据库。
第一种是O D B C连接方式,通常需要的参数有:D S N数据源名称、用户名和口令。
例如用户名是“student”,口令是“magic”,通过DSN “student”建立连接的代码如下:m y c o n n.C o n n e c t i o n S t r i n g=“DSN=student;uid=student;pwd=magic”。
第二种方式是OLE DB Provider连接。
例如数据库的名称是“student”,“BILLGATES”是SQL Server服务器的名称。
m y c o n n.C o n n e c t i o n S t r i n g=“P r o v i d e r=S Q L O L E D B.1;I n t e g r a t e d Security=SSPI;Persist Security Info=False;I n i t i a l C a t a l o g=s t u d e n t;D a t aSource=B ILLGATES”。
3.5打开连接对象(myconn设置好连接属性后,就可以打开连接对象了。
语句如下:myconn.Open这样,VB和后台SQL Server数据库的连接就创建好了。
3.6打开Recordset对象Recordset对象包含某个SQL查询返回的数据库记录集,以及记录集中的游标。
Recordset对象是一个跟数据库中的表相对应的结构,也可以理解成具有字段(Field和字段值(V a l u e的对象,在这些记录中可以向前一条或后一条移动。
通过Recordset对象可以对几乎所有数据进行操作。
所有Recordset对象均使用记录和字段来进行二维的构造。
通过这步设置,可以执行一条S Q L查询语句或者调用数据库的存储过程,返回数据库记录。
主要是利用Recordset对象的o p e n方法。
语法如下:myres.Open Source,ActiveConnection, CursorType,LockType,Options(1Source参数是Open方法需要执行的S Q L查询语句,也可以是数据库的存储过程,还可以只是某个数据库表的表名,O p e n 方法将返回该表的所有记录。
(2ActiveConnection参数表示有效的活动的C o n n e c t i o n连接对象。
ActiveConnection可以是Recordset相对应的Connection对象,也可以是Connection对象的连接字符串。
(3CursorType参数可选,CursorTypeEnum 值,确定提供者打开Recordset时应该使用的游标类型。
AdOpenForwardOnly(默认值打开仅向前类型游标。
A d O p e n K e y s e t打开键集类型游标。
A d O p e n D y n a m i c打开动态类型游标。
AdOpenStatic打开静态类型游标。
(4LockType参数可选。
确定提供者打开Recordset时应该使用的锁定(并发类型的L o c k T y p e E n u m值。
可以指定下面的4种锁定类型:AdLockReadOnly(默认值只读—不能改变数据。
AdLockPessimistic保守式锁定(逐个—提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录。
AdLockOptimistic开放式锁定(逐个—提供者使用开放式锁定,只在调用U p d a t eV B中A D O对象访问数据库编程方法吐尔尼沙・热依木(新疆克拉玛依职业技术学院信息工程系新疆克拉玛依833600摘要:通过引用A D O对象可以在VB中方便高效的访问数据库。
A D O编程模型描述了使用A D O对象进行编程所必须的几个重要步骤,并描述了每个步骤中起主要角色的对象。
关键词:ADO对象数据库VB SQL中图分类号:TP311文献标识码:A文章编号:1674-098X(200807(b-0030-02(下转32页局所有局向的中继电路信息,返回对端交换节点名称、本端中继群编号、方向、业务编号、C I C 、系统号、本端中继端口、是否信令、中继线数、中继线编号、电路数、对端中继群编号、对端中继端口、对端中继线编号、备注、本端中继端口所属单板、对端中继端口所属单板、该中继线路存在的问题等18项内容。
4.2.3电路对应的D D F 端子信息查询功能的实现“电路对应D D F 端子信息查询”要求查找某条电路的电路名称、传输关联的D D F 端子、交换关联的D D F 端子以及交换关联模式信息。
要实现该功能主要从3个视图L Z _C S D Z (可提取传输电路编号及电路关联的端子信息、L Z _J H D Z (可提取交换电路编号及电路关联的端子信息、L Z _J H L J F S _R E S U L T (可提取交换电路端口及跳接的D D F 端子信息和表C I R C U I T (存放传输电路信息中提取数据。
4.2.4机架机框单板端口问题自检功能的实现“机架机框单板端口问题”自检功能实现对4类数据检查,分别是“有游离机框的设备”、“机框编码包含-C P ”、“没有逻图1交换资源辅助管理系统功能结构图辑编号的中继端口”和“单板类型查看”的功能,在辅助系统主页面上点“03-机架机框单板端口问题”,则连接到以上4类数据检查的页面。
4.2.5端口关联、端子跳接的一致性自检功能的实现端口关联、端子跳接的一致性自检功能实现对4类数据检查,分别是“引用了两次以上的传输电路”“D D F 端子信息与传输电路对应不上的电路和端子”“传输电路对应的D D F 端子”“传输有关联D D F 端子但交换没有做关联的端口”的检查功能,在辅助系统主页面上点“06-端口关联、端子跳接的一致性”,则连接到以上4类数据检查的页面。
4.2.6叫唤机容量统计信息查询功能的实现“07-交换机容量统计信息”实现对交换资源库中所有交换设备容量查询的功能,返回按日常维护习惯需求的内容和格式,交换机容量(含下带设备容量信息列表内容包括交换机名称、模拟用户容量、2B +D 用户容量、用户总容量等4项信息,便于维护人员提取容量数据核对入库交换设备的容量是否准确。