初识vb数据库开发之实例2(创建记录浏览窗口)
来源:互联网 发布:ubuntu怎么读 编辑:程序博客网 时间:2024/05/01 09:18
制作特点
使用ADO访问数据源-特点
1.通过ODBC数据源访问数据库,代表了如何建立关系数据库的ODBC数据源
2使用ADO RecordSet对象保存数据,执行update方法实时更新
3通过文本框和按钮事件完成数据显示和修改
设计分析
其实使用ADO可以直接翻跟Access 2000数据库(系统登录),本势力通过ODBC数据源访问期末地就是要说明如何建立和访问关系数据库的ODBC数据源
使用ADO更新数据源的方法
1 将数据检索保存到RecordSet对象中,用Update方法进行更新。如果使用断开连接的Recordset对象,则用UpdateBatch方法进行更新
2 用Command对象执行SQL数据更新命令,这是不需要使用RecordSet对象或使用其他方法将数据检索到本地计算机
技术要领
RecordSet的Locktype 属性用于指定记录锁类型
adLockReadOnly:默认值,只读,无法更新数据
adLockPessimistic:保守式记录锁定,在编辑记录时立即锁定数据源的记录
adLockOptimistic:开放式记录锁定,在执行Update方法时锁定记录
adLockBatchOptimistic:开放式批更新,表示RecordSet用UpdateBatch方法更新多个记录,即在执行UpdateBatch方法时锁定记录
Recordset 的临时表位置(CursorLocation属性用于指定临时表位置)可设置为
adUseClient :客户端临时表,可以提供重新排序和使用索引查找记录等特有功能
adUseServer:服务器端临时表 ,由服务器端的被检索的数据源维护
注:ADO中的RecordSet默认为服务器端的单向只读临时表
浏览RecordSet中的记录
浏览RecordSet中的记录需要两个步骤。首先,定位当前记录,RecordSet打开时第一个记录为当前记录,然后用Field对象获得当前记录的各个数据列
RecordSet对象可用下列5个方法定位当前记录
1.MoveFirst:使记录指针指向第一个记录
2.MoveNext:使用记录指针指向下一个记录
3.MovePrevious:使记录指针指向前一个记录
4.MoveLast:使记录指针指向最后一个记录
5.Move n:使记录指针指向从当前记录算起的第n个记录
注:在浏览RecordSet时,Bof属相为true表示记录指针指向第一个记录之前,Eof属性为true时表示记录指针指向最后一个记录之后。这两个属性还可以用于测试RecordSet是否为空。
ODBC数据源类型
用户DSN :计算机本地数据源,只能被当前用户使用。
系统DSN:计算机本地数据源,可被任何就有权限的用户使用
文件DSN:可以不是计算机本地数据源,可被安装了相同驱动程序的用户共享
注:connection对象在建立数据源连接时,默认使用MSDASQL驱动程序,所以在连接字符串中只需指定数据源名称即可例如:
objCn.Open"DSN=myaccess" '建立数据库连接
操作过程
1创建OODBC数据源
选择系统“开始”->程序 ->管理工具->数据源
单击添加按钮,选择Microsoft Access Driver
单击完成按钮,打开安装对话框
在数据源名文本框中输入“实例2DSN”作为新建数据源的名称,在说明文本框中输入“实例2的Access数据源”,单击选择按钮
单击确定关闭对话框
如果要为ODBC数据源设置登录名称和密码等道济选项,可单击高级按钮,打开高级选项设置
如果使用Access数据库带有系统数据库,则应选择“ODBC Microsoft Access安装”对话框中的数据库,然后单击系统数据库按钮
如果要设置驱动程序的附加选项,包括页超时,缓冲区大小,独占区大小,独占和只读等,单击
“ODBC Microsoft Access安装”对话框中的选项按钮,在对话框底部显示驱动序附加选项
单击确定按钮关闭安装对话框,新建的实例2DSN数据源显示在“ODBC数据源管理器”对话框列表中
单击确定按钮关闭“OBDC数据源管理器”对话框,完成数据源创建操作
设计记录浏览窗体
注:最底下的那个文本框的locked的属性设置为true
建立ADO引用
工程->引用 选择Microsoft ActiveX Data Objects 2.5 Library
编写代码
Dim objrs As RecordsetDim objcn As ConnectionDim isNeedSave As Boolean '用于标识是否需要执行保存操作'添加前一记录的代码。用户单击按按钮时先保存当前记录的修改,然后使前一个记录为当前记录Private Sub Command1_Click() DoSave objrs.MovePrevious If objrs.BOF Then objrs.MoveFirst '显示当前记录 txtUserName = objrs.Fields("用户名").Value txtPassword = objrs.Fields("口令").Value txtMsg = objrs.AbsolutePosition & "/" & objrs.RecordCount End Sub'添加后一记录的代码。用户单击按按钮时先保存当前记录的修改,然后使下一个记录为当前记录Private Sub Command2_Click() DoSave objrs.MoveNext If objrs.EOF Then objrs.MoveLast '显示当前记录 txtUserName = objrs.Fields("用户名").Value txtPassword = objrs.Fields("口令").Value txtMsg = objrs.AbsolutePosition & "/" & objrs.RecordCount End Sub'创建数据源连接,并检索数据,将检索到的第一个记录显示在窗体中Private Sub Form_Load() Set objcn = New Connection '实例化connection对象 '连接数据库 objcn.Open "DSN= 实例2DSN" Set objrs = New Recordset '创建客户端的记录集 With objrs .CursorLocation = adUseClient '指定临时表位置 .CursorType = adOpenDynamic '指定使用键集游标 .LockType = adLockOptimistic '指定锁定类型 .Open "SELECT*FROM 系统用户", objcn End With '显示第一个记录集 txtUserName = objrs.Fields("用户名").Value txtPassword = objrs.Fields("口令").Value txtMsg = objrs.AbsolutePosition & "/" & objrs.RecordCount End Sub'定义一个过程执行数据更新操作Private Sub DoSave() If isNeedSave Then objrs.Fields("用户名").Value = txtUserName objrs.Fields("口令").Value = txtPassword objrs.Update '执行更新操作 End IfEnd Sub'如果修改了数据,则设置isneedsave为truePrivate Sub txtPassword_Change() isNeedSave = True '在修改当前记录字段时,设置保存标识End SubPrivate Sub txtUserName_Change() isNeedSave = True '在修改当前记录字段时,设置保存标识End Sub'Unload 事件代码,在窗体关闭时释放数据库的连接和ADO对象Private Sub From_Unload(Cancel As Integer) Set objrs = Nothing '释放记录集对象 objcn.Close '释放数据库连接 Set objcn = Nothing '释放连接对象End Sub
- 初识vb数据库开发之实例2(创建记录浏览窗口)
- 初识vb数据库开发之实例4(分页显示记录)
- 初识vb数据库开发之实例1(系统登录)
- 初识vb数据库开发之实例5(数据查询)
- 初识vb数据库凯发之实例3(使用数据绑定访问数据)
- VB数据库之分页显示记录——实例04
- 只允许创建一个实例的VB.NET窗口
- 数据库学习实践(二)----记录浏览
- vc++ 创建浏览文件窗口
- cookie实例-最近浏览记录
- 初识VB(一)——浏览文件并载入外部…
- OPC Client开发之浏览OPC Server的简单实例
- 初识SQL数据库之2
- SQLite初识(一)创建数据库
- EVC开发实例之窗口切换
- EVC开发实例之窗口切换
- VB数据库经典实例总结(一)
- VB数据库经典实例总结(二)
- c++之文件操作,(不以简单而不为,不以难而畏为)
- C#开发之多线程数据同步
- Box2D v2.1.0用户手册翻译 - 第08章 关节(Joints)
- 管理谏言
- 更换 ubuntu 语言环境
- 初识vb数据库开发之实例2(创建记录浏览窗口)
- 【C和指针】const指针
- Struts2_学习笔记(一)--------学习工具下载、HelloWorld、运行机制
- JavaScript语法入门系列(四) 运算符
- 常用控件 05 单选按钮 Radio Buttons
- Struts2_学习笔记(二)--------Namespace、Action、Path、ActionMethod_DMI、ActionWildcard
- Android入门:广播接收者应用(电话拦截器)
- 浅谈SQL SEVER中约束和规则的异同
- 第三宗罪的C++