5个小实例总结

实例1

首先是 ADO Connection对象代表打开的,与数据源的连接,在访问数据源之前,必须先建立连接, ado connection对象的属性和方法,分别如下,
 connectionstring 属性, 指定连接数据源的基本信息,

Ado访问access数据库,连接字符串为

provider=microsoft.jet.oledb.3.51;data asource="app.path & "\***.Mdb"

open方法,打开数据源连接a

Close 方法,关闭数据源连接

Ado  recordset 对象

用户保存从数据源获得的记录集,方法如下

 activeconnection属性,代表数据源的活动连接,通常将其设置为己建立的connection对象

 EOF属性, 如果当前记录位于记录的最后一个记录之后, eof属性将返回true,否则返回false

Fiedls 集合,包括recordset 对象的所有fields对象, 可以用fields 来获得当前记录各个字段的值

Obrs.fields(“口令”).value

Open  方法, 打开记录集

sql命令字符串

objrs.open  ("select  口令 FROM 系统用户 where 用户名= ' admin'"

实例2

出现如下问题

[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配

 原因是系统为64位的win7,不能用32位的odbc创建,应选择64位的创建。方法如下

选择新dsn要用64位的odbc,在C:\Windows\SysWOW64\中寻找odbcad32.exe用它创建。

主要是ODBc 数据源 ,ado connection recordset 对象

Ado 更新数据有两种方法

1 使用recordeset 对象中,用update方法更新, 

2 使用ncommand 对象执行dql 数据更新命令

Recordset 记录锁类型 有四种类型

AdLockreadonly 默认值,只读,发放更新数据

Adlockpessimistic 保守式就,在编辑记录时立即锁定数据源的记录

Adlockoptmistic 发相识记录锁定,在执行update方法时锁定记录

AalockbatchOptimistic 开放式批更新,表示Recordset Updatebatch方法更新多个记录,即在执行updatebatch方法时锁定记录

Recordset的临时表位置

 recordstcursorlocation 属性用于指定临时表的位置,可以设置为下列值

adUseclient 客户端临时表,

 adUseServer 服务器临时表

 默认为服务器单项只读临时表

 浏览recordset 中的记录

五个方法定位当前记录

   MoveFrist  指向第一个记录

MoveNEXt 下一个记录

Moveprevious 使记录指针指向前一个记录

Movelast 指向最后一个记录

Move n是记录指针指向从当前记录算起的第n个记录

如果recordset 不包含任何记录,则bofeof属性同时为true,如

 If not (rs.bof and rs.eof) then

 rs.movefirst

 while not rs.eof

rs.movenext

'执行代码处理当前记录

Wend

end if

ODBC数据源类型

可分为三种

 用户DSN计算机本地数据源,只能被当前用户使用

 系统DSN 计算机本地数据,可悲任何具有权限的用户使用

文件DSN,可以不是计算机本地数据,可被安装了相同驱动程序的用户共享驱动程序,所以在连接字符串中只需要指定数据源名称即可

Connection 对象, recordst 对象和一个布尔变量,

Connection 对象用于建立数据源连接,recordset 对象用于保存从数据源检索的数据,布尔变量用户表示当前记录是否被改变

 

添加窗体的load 事件代码,要加载创建数据源连接,并检索数据,同时将检索的第一个记录显示在窗体中

Private sub Form_load()

 Set objcn=new connection ‘ 实例化connection对象

Objcn.open “DSN=***”   ‘建立数据库连接

 Set objrs =new new Redordset 创建客户端的记录

实例3

出现如下问题

aod 出现

系统错误:&H8007007E(-2147024770)。找不到指定的模块

 

 以前是正常的,突然发现多个Ocx

方法是或删除多余的那个控件,就正常了。

数据绑定控件

ADO data 控件

 数据环境

 ADO data 控件属性设置

 可以再属性窗口中设置,也可以使用属性页 对话框设置 ado  data 控件属性

通用 选项卡

 连接方式

 data link wenjian

ODBCshujuyuan 和使用连接字符串

身份选项卡

记录源选项卡

用于设置访问数据源使用的具体方式

实例4

出现如下错误提示

 

Recordset这里,

主要还是没有引用的原因,虽然窗体中没有ado控件,但是使用了记录,就必须引用。这里没有引用就会出现错误。

 

记录集的分页特性

dataagrid 控件

MSFLexGrid 控件

记录集额pagesize 属性用于设置或返回一个记录页中可以包含的记录个数,其默认值是10

记录集的分页特性

属性如下

 pagesize属性

Pagecount 属性 返回一个记录集的记录页总数

Absolutepage 属性,设置或返回当前记录页编号

DataGrid控件 

 MSflexgrid控件属性

CLos属性

设置或返回控件的列数

Rows属性,设置和翻译控件的行数

  textmatrix  设置和返回控件任意单元格的文本内容。

Objdatasource.addnew

Objdatasource!用户名=objrs!用户名

在窗体加载过程中,创建数据库连接和recordset兑现,并设置记录页大小,同时显示第1个记录页数据’

Private sub  from_load()

Dim strsql as string , strcn as string

 txtpagesize="5"

 Intpage=1

Strcn="provideer=microsoft.oledb.4.0;persist security info=false; & data sourcre=" & app.path&""

Ogjcn.connection=strcn

Objcn.open

最后释放对象

private sub form_unload( cancle as  integer)

Objcn.close

 set Objcn=nothing

Set objrs=nothing

End sub

 实例5

出现如下错误提示:

 

主要原因还是不细心

VB中非法变量名包括:

系统保留字,以数字开头的变量,某些以@开头的变量,不连贯含空格的变量

说明你重复使用了两个for 但是只有一个next...

比如说应该是:
for i=xx to xx
xxxx
‘next i (这个next 没起作用)

for i=xx to xx
xxxx
next i

这种情况就会显示for control 控件变量已在使用

 Ado command对象

参数查询

使用adO command对象创建参数查询一查询数据库

 实现数据库查询有以下三种

1 使用查询参数构造sql select 语句,然后使用adocommand对象或recordset 对象执行查询语句

2 使用ado command 对象创建参数查询

3 先执行select 语句获取数据库对象,将其存放到recordset 对象中,然后执行recordset对象的find方法查找符合条件的记录,或设置recordset对戏那个的filter属性筛选符合条件的记录

添加和删除 

    Obj.clear

Obj.additem(string,index)

也可以用removdtiem 指定删除行

使用command兑现刚创建参数查询

1 创建command对象

Commandtext="select *from 系统用户 where 用户名 like?"

2 使用command对象

createparmeter方法创建对象,

在窗体加载的Load时间过程代码,在窗体加载时创建数据库连接和command对象,并建立查询

Private sub From_load()

  Set objcn= New Connection

     Objcn.connectionstring=”provider=Microsoft.oledb.4.0;persist security info=rfalse;” &data source=” &App.path & “\***.mdb”  ‘创建数据库连接

 Objcn.open  ‘打开数据库连接

创建执行参数查询的command对象objcmd

Set objcmd=new command

Set objcmd.activeconnection=objcn

 

 

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值