资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
VB使用ADOD操作数据库的常用方法ADO常用方法下面是我所掌握的使用 ADO对数据库操作的一些常用方法,主要是提供给初学者作为参考, 有不对的地方请指正。如有补充不胜荣幸准备工作Dim conn As New ADODB.Connection创建一个 Connection 实例,在这里使用 New等于将Dim和Set合并为一段代码执行Dim rs As ADODB.Recordset 创建一个 Recordset 实例,不使用 New是因为,经常 需要重复使用Set,因此没必要在这里使用Dim CnStr As String , Sql As String创建两个字符串变量分别存放两个集合的SQL语句代码段1、装载数据库(不属于Recordset集合)Dim FileNamw$, Dblp$, DbName$, DbUser$, DbPw$以上5个字符串变量分别表示文件路径和文件名、数据库地址、数据库名、数据操作员用户名、操作员密码FileName = App.Path &数据库名DbIp =数据库地址”DbName =数据库名DbUser =数据操作员用户名”DbPw =操作员密码”1至两个变量以上变量根据数据库类型的不同而不同,有可能只需要 1)连接Access数据库:Cn Str = PROVIDER=microsoft.jet.oledb.3.51;persist security info =false;data so urce= & FileName & ;Jet OLEDB:Database Password= & DbPw 2)连接Oracle数据库: CnStr = PROVIDER=MSDAORA.1;Password=& DbPw & ;User ID= & DbUser & ;Data S ource= & FileName & ;Persist Security Info=True 其中 :PASSWORD:密码User ID:用户号Data Source:数据库名Persist Security Info:Provider:3)连接VF的DBF库:CnStr = PROVIDER=MSDASQL.1;Persist Security Info=False;Driver=Microsoft Visua l FoxPro Driver;UID= & DbUser & ;SourceDB= & FileName &;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;4)连接SQL的数据库CnStr = PROVIDER=MSDataShape;Data PROVIDER=MSDASQL;uid=& DbUser &;pwd= &DbPw & ;DRIVER=SQL Server;DATABASE= & DbName & ;WSID=GQSOFT;SERVER=&DbIP 也可以使用这段简易代码 CnStr = Provider=SQLOLEDB;Data Source= & DbIp & ;DATABASE= & DbName & ;UID= & DbUser & ;pwd= & DbPwConn.Open cnstr 使用 Connection 集合的 Open 方法 与数据库建立连接2、Recordset 集合的常用方法1) 打开一个表Sql = select * from 表名 SQL 查询语句Set rs = NewADODB.Recordset 新建一个实例rs.Open Sql, conn 使用 Open 方法打开数据库中的一个表 注意,这种打开方式只能使用 rs.MoveNext (即,向后移动行坐标)而不能像其他方向, 并且不能修改数据内容rs.Open Sql, conn, 1 虽然只加了个“ 1”,但这种方法可以向任何方向移动行坐标。以下参数代表了这个可选值的含义0 = adOpenForwardOnly1 = adOpenKeyset2 = adOpenDynamic3 = adOpenStatic默认值)打开仅向前类型游标。打开键集类型游标。打开动态类型游标。打开静态类型游标。 虽然使用以上方法可以可以实现行坐标(游标)的任意移动,但是仍然无法写入数据。因 此需要进一步的对 Open 方法进行完善rs.Open Sql, conn, 1, 3 后面的 3 是确定读写权限的以下参数代表了这个可选值的含义1 = adLockReadOnly2 = adLockPessimistic 录。(默认值)只读 不能改变数据。 保守式锁定(逐个) 在编辑时立即锁定数据源的记3 = adLockOptimistic 录。开放式锁定(逐个) 只在调用 Update 方法时才锁定记4 = adLockBatchOptimistic开放式批更新 用于批更新模式(与立即更新模式相对)。2) 读写数据 增加一行记录并对新记录的内容进行修改并保存可以如下写法rs.AddNew 增加一行记录rs( . )= . 数据读写操作rs.UpDate 保存写入资料,如果使用只读权限,则不能使用这个方法rs.Close 这个方法用来关闭你所代开的表,如果不使用这个方法也可以,但是数据库仍 然认为你在对标进行锁定,可造成数据库负担过重2、对数据进行筛选和排序Sql = select * from 表名 SQL 查询语句 以上为打开一个表的所有内容Sql = select top 50 * from表名 SQL 查询语句以上为只打开前 50 行的记录Sql = select top 50列名 1, 列名 2, 列名 5 from 表名 SQL 查询语句 以上为只打开前 50 行的记录,并且只打开第 1、 2、5 列数据Sql = select * from 表名 where 列名 1= & 字段 & SQL 查询语句 以上为一个简单的筛选,表示打开的内容必须符合 列名 1= & 字段 & 的内容 需要注意的是,数据库列的类型必须匹配,比如字符串类型需要以单引号括起 而数字类型则不能用单引号括起 另外 SQL 语句还支持通配符,例如 列名 1 like % &字段 & % 表示包含 字段 在表达式中的匹配? _ (下划线) * or %#charlist!charlist任何单一字符 零个或多个字符 任何单一数字( 0 9 ) 任何在字符表中的单一字符 任何不在字符表中的单一字符注:根据数据库的不同 ?、_和*、 %的应用有所差别,比如SQL只使用%和_分别代表多个字符和单一字符Sql = select * from表名where列名1=字段 ORDER BY字段 1 ASC 对查询结果进行升序排列Sql = select * from表名where列名1=字段 ORDER BY字段 1 DESC 对查询结果进行降序排列Sql = select * from表名where列名1=字段 ORDER BY字段1 DESC, ORDER BY 字段 2 DESC 对查询结果进行多维降序排列(速度奇慢,不推荐使 用)3、Recordset 集合的常用属性方法rs.BOF 是否游标在最上边rs.EOF 是否游标在最下边rs.AddNewrs.RecordCount 记录集的行数(如果使用像前类型的游标,可能返回不准确) 新建一行记录rs.Update 保存当前行被修改的记录rs.Delete 删除当前行rs.Close 关闭记录集4、Fields 集合的一些属性的解释 以下为简写,正常情况需要 rs.Fileds. 。但是 Fields 属于 Recordset 的一个默认集 合,因此可以省略rs() 括号内可以是列名也可以是列的序号例如:rs( 姓名 ) 、 rs(3) 都是是可以的rs( 3).Name 返回列名rs( 3).Type 返回列的类型rs( 3).Value 返回当前行的值rs.Fields.Count 返回列数
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号