ADO 对象设计数据库应用程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ADO 对象设计数据库应用程序
一、ADO 技术的发展
1 .ODBC
ODBC 是一种开放式的、标准化的数据库应用程序接口。
用户可以通过它所提供的函数访问几乎所有类型的数据库,包括DB2 、Oracle 、SQL Server 、Informix 、Access 等。
2 .OLE DB
OLE DB 是一套通过组件对象模型(Component Object Model,COM )接口访问数据库的技术,是在ODBC 基础上为数据库应用程序提供的另一种访问接口。
3 .ADO
ADO 是ActiveX Data Object 的缩写,是当前应用最广泛的数据库访问技术,它提供了对OLE DB 数据源的数据库应用程序级的访问功能。
目前,许多C/S 结构或B/S 结构开发技术都支持ADO ,使得应用开发模式统一到单一的ADO 对象上来。
ADO 不仅支持本地数据源,而且具有远程数据服务功能,通过远程数据服务功能,可实现服务器到客户端或Web 网页之间的数据传送。
二、ADO 对象
与ADO Data 控件类似,ADO 对象用Connection 对象选择数据库的类型与数据库,用Command 对象与Recordset 对象选择数据表与记录集,从而实现对数据库中数据表记录的处理。
所不同的是,ADO Data 是一个可视的控件,数据界面控件可通过其DataSource 属性与ADO Data 控件绑定,从而获取数据表中的记录数据。
而ADO 对象是用ADO 模型中的类定义的对象,是通过编写程序代码实现ADO 对象与数据库、数据表、数据记录的连接。
1.ADO 对象模型
图6.5 ADO 对象模型的层次结构
(1 )连接对象(Connection )
连接对象是用Connection 类定义对象,用于选择数据库类型、驱动程序与数据库,设置用户安全信息等。
(2 )命令对象(Command )
命令对象是用Command 类定义的对象,用于存放SQL 命令或存储过程,执行SQL 命令或存储过程后可实现对数据库中指定数据表记录的查询、插入、替换与删除等操作。
当要执行带有动态参数的Command 命令时,需要使用参数对象(Parameter )。
(3 )记录集对象(Recordset )
记录集对象是用RecordSet 类定义的对象,可以数据表或Select 语句方式打开数据表,并对数据表中记录指针进行移动,对记录进行插入、替换与删除等操作。
可用Field 对象表示当前记录中的某个字段信息。
2. ADO 对象的定义
ADO 对象定义格式为:Dim <ADO 对象> As ADODB.< 类名>
其中类名有:Connection 、Command 、RecordSet 与Parameter 。
3. 对ADO 对象的引用
在Visual Basic 中必须先添加对ADO 对象的引用,此后才能使用ADO 对象实现对数据库的操作。
引用ADO 对象(观看视频)
对数据表的操作可分为两类:
(1 )对数据表中记录的查询与编辑,这可以使用记录集对象(Recordset )以表或Select 语句方式打开数据表,然后进行记录的查询与编辑。
(2 )用SQL 语句对数据表进行插入(Insert )、替换(Update) 、删除(Delete) 等操作,此时,应用命令对象(Command )实现上述操作。
在两类操作之前必须先打开数据库,即首先应用连接对象打开数据库,然后才能用记录集对象或命令对象对数据表进行操作。
用连接对象打开数据库
连接对象是用Connection 类定义的对象,因此,在使用连接对象打开数据库之前,必须先定义连接对象,然后才能用连接对象建立与数据库的连接。
一、定义连接对象
Connection 类定义的对象定义连接对象有两种格式。
1 .定义格式1
Dim < 连接对象> As ADODB.Connection ‘定义连接对象
Set < 连接对象> =New Conection ‘为连接对象动态分配内存空间
2 .定义格式2
Dim < 连接对象> As New ADODB.Connection ‘定义连接对象,并分配内存
二、连接对象的属性和方法
1 .ConnectionString 属性
ConnectionString 属性是一个连接数据库的字符串,用于提供数据库驱动程序、路径、数据库名、用户名、口令与安全等连接信息。
ConnectionString 属性设置格式如下:
< 连接对象>. ConnectionString =" Provider =< 数据库驱动程序>; Data Sorce =< 路径>\< 数据库>;[ User ID =< 用户名>];[ Password =< 口令>];[ Security Info =false]"
2 .CommandTimeout 属性
CommandTimeout 属性用于限制连接数据库时间,属性赋值格式如下:
< 连接对象>.CommandTimeout= 连接时间
3 .Open 方法
Open 方法用于打开数据库,其调用格式如下:
< 连接对象>.Open [ConnectionString],[User ID],[Password]
说明:若连接对象的ConnectionString 属性已赋值,则[ConnectionString],[User ID],[Password] 可省略。
4 .Close 方法
Close 方法用于关闭数据库,其调用格式如下:< 连接对象>.Close
【例1 】用ADO连接对象打开E:\vb\data 目录中的Access 类型数据库xsda..mdb ,限时15 秒。
方法一:先给ConnectionString 属性赋值,后用Open 方法打开数据库。
Dim Con As New ADODB.Connection
Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=E:\vb\data\xsda_old.mdb"
Con. CommandTimeout=15
Con.Open
Con.Close
方法二:直接用Open 方法打开数据库。
Dim Con As New ADODB.Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\vb\data\xsda_old.mdb"
Con. CommandTimeout=15
Con.Open
Con.Close
用连接对象(如Con )与数据库连接后,便可使用记录集对象与命令对象对数据表进行操作。
用记录集对象操作数据表
用记录集对象操作数据表的步骤是,首先用RecordSet 类定义记录集对象,然后用记录集对象的Open 方法打开数据表,此后,可用Field 属性可表示记录中的某个字段,用Addnew 、Delete 、Update 方法可添加、删除、修改记录。
完成对数据表的操作。
一、定义记录集对象
记录集对象的定义格式为:Dim < 记录集对象> As New ADODB.Recordset
二、记录集对象的方法
1 .记录集对象的Open 方法
记录集对象的Open 方法用于打开数据表,其调用格式如下:
< 记录集对象>.Open [Source] [ActiveConnection],[Coursortype],[LockType],[Option]
各参数含义如下:
①Source :数据表或Select 语句,用于选择指定的数据表。
②ActiveConnection :连接对象,用于连接数据表所在的数据库。
③CursorType :游标类型
④LockType :记录加锁
⑤Option :选项
2 .记录集对象的增、删、改方法
? Addnew 方法:添加记录;
? Delete 方法:删除记录;
? Update 方法:修改记录。
3 .记录集对象的指针移动方法
? MoveFirst 方法:将记录指针移到首条记录;
? MovePrevious 方法:将记录指针上移一条记录;
? MoveNext 方法:将记录指针下移一条记录;
? MoveLast 方法:将记录指针移到最后一条记录;
? Move n 方法:将记录指针移动n 条记录,当n>0 向下移,当n<0 向上移。
4 .记录集对象的关闭方法Close
当记录集对象使用完毕后,应用Close 方法关闭记录集对象,回收为记录集对象分配的内存空间。
三、字段对象Fields
1 .字段表示方法
字段对象Fields 用于表示记录集对象中的某个字段。
第i 个字段有三种表示方法:
< 记录集对象>.Fields (i )
< 记录集对象>.Fields(“字段名”)
< 记录集对象> !字段名
【例1 】已用记录集对象Rs 的Open 方法打开了系部编码表TB06 ,则TB06 中的第1 个字段TB0602 如何表示。
可以用三种方法表示:Rs.Fields(1) 、Rs.Fields(“TB0602”) 、Rs!TB0602
2 .Fields 的属性
Value 属性:用于表示Fileds 字段值,;
Name 属性:用于表示Fileds 字段名;
Type 属性:用于表示Fields 字段类型。
【例 2 】在学生档案查询程序中,用两个列表框控件Combo_TB06 、Combo_TB03 替换DataCombo_TB06 与DataCombo_TB03 控件。
用两个记录集对象打开系部编码表TB06 与班级编码表TB03 ,然后将TB06 与TB03 中记录赋给Combo_TB06 、Combo_TB03 列表框控件,实现由系查询班级记录的功能。
分析步骤:
(1 )定义连接对象Con ,打开数据库xsda.mdb ;
(2 )定义两个记录集对象Rs_TB06 、Rs_TB03 ,用Rs_TB06 打开TB06 ,用Rs_TB03
打开TB03 ;
(3 )用Rs_TB06 的字段对象将TB06 中记录逐个赋给Combo_TB06 ;
(4 )用Rs_TB03 字段对象将选中的系部中的班级记录逐个赋给Combo_TB03 。
用命令对象操作数据表
用命令对象操作数据表的步骤是,首先用Command 类定义命令对象,然后用命令对象的ActiveConnection 属性选择连接对象(使命令对象与数据库连接),用CommandType 属性选择命令类型,用CommandText 属性输入SQL 命令或选择数据表,最后用Execute 方法执行SQL 命令或完成与数据表的连接。
一、定义命令对象
命令对象的定义格式为:Dim < 命令对象> As New mand
二、命令对象的属性
1. ActiveConnection 属性:用于选择连接对象,使命令对象与数据库连接。
2. CommandType 属性:用于确定命令类型。
如:adCmdTable (选择数据表)、adCmdText( 选择SQL 语句) 等。
3 .CommandText 属性:根据命令类型存放“数据表名”、“SQL 语句”、“存储过程名”、“文件名”等内容。
4 .CommandTimeout 属性:用于限制命令执行时间。
三、命令对象的方法
Execute 方法:用于执行命令,相当于Adodc 控件的Refresh 方法
【例1 】用ADO 的三个对象完成下列工作:用连接对象打开数据库xsda.mdb ;用记录集对象打开系部编码表(TB06 );用命令对象执行“删除系部编码为'70' 的系部信息”的命令。
程序编写步骤:
(1 )定义ADO 的三个对象
Dim Con As New ADODB.Connection
Dim Cmd As New mand
Dim Rs As New ADODB.Recordset
(2 )配置Connection 对象的连接属性并打开连接
Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=E:\vb\data\xsda_old.mdb"
Con.Open
(3 )打开RecordSet 对象
Rs.Open "Select * From TB06",Con
(4 )配置Command 对象的连接属性和命令语句,最后执行Cmd.ActiveConnection = Con
mandType = adCmdText
mandText = "Delete From TB06 Where TB0601='70'" Cmd.Execute。