DEMO:使用ADO访问数据源

来源:互联网 发布:网络投影仪安装 编辑:程序博客网 时间:2024/05/05 04:41

这个实例是一个利用ADO来访问数据源的例子,这个实例的主要有两个技术要领即①建立关系数据库的ODBC数据源②使用ADO Recordset对象保存数据,执行Update方法实时更新。

具体的设计过程为

①创建ODBC数据源:

②设计窗体

③建立ADO引用

④代码设计

 

实现过程:

①创建ODBC数据源:

管理工具—Microsoft Access Driver --创建数据源名称和描述

②设计窗体

记录浏览

③建立ADO引用

工程---引用 --ADO对象库

④代码设计

因为我们要对数据库进行操作所以要创建一个Connection对象,一个Recordset对象和一个布尔型变量用来标识当前记录是否被修改

Dim ObjRS As Recordset         '用于保存数据源记录集
Dim ObjCn As Connection        '用于创建数据库连接
Dim IsNeedSave As Boolean      '用于标识是否需要执行保存操作

下面就要连接数据库和建立客户端记录集并且让程序显示第一条记录

    Set ObjCn = New Connection          '实例化Connection对象
    ObjCn.Open "DSN=实例2DSN"           '建立数据库连接
    Set ObjRS = New Recordset           '创建客户端的记录集
    With ObjRS
           .CursorLocation = adUseClient   '指定临时表位置
           .CursorType = adOpenStatic      '指定使用键集游标
           .LockType = adLockOptimistic    '指定锁定类型
           .Open "SELECT * FROM 系统用户", ObjCn
    End With
    '显示第一个记录数据
    TxtUserName = ObjRS.Fields("用户名").Value
    TxtPassWord = ObjRS.Fields("口令").Value
    TxtMsg = ObjRS.AbsolutePosition & "/" & ObjRS.RecordCount

下面部分代码是判断当前记录是否被修改:

Private Sub DoSave()
    If IsNeedSave Then
        ObjRS.Fields("用户名").Value = TxtUserName
        ObjRS.Fields("口令").Value = TxtPassWord
        ObjRS.Update        '执行更新操作
    End If
End Sub

Private Sub TxtPassWord_Change()
    IsNeedSave = True       '在修改当前记录字段时,设置保存标识
End Sub

Private Sub TxtUserName_Change()
    IsNeedSave = True       '在修改当前记录字段时,设置保存标识
End Sub

当然下面就要是单击上一条记录和下一条记录的代码了:

Private Sub CmdNext_Click()
    DoSave
    ObjRS.MoveNext              '使后一条记录成为当前记录
    '如果记录指针指向最后一个记录之前,则使其指向第一个记录
    If ObjRS.EOF Then
        ObjRS.MoveLast
    End If
    '显示当前记录数据
    TxtUserName = ObjRS.Fields("用户名").Value
    TxtPassWord = ObjRS.Fields("口令").Value
    TxtMsg = ObjRS.AbsolutePosition & "/" & ObjRS.RecordCount
End Sub

Private Sub CmdPer_Click()
    DoSave
    ObjRS.MovePrevious          '使前一条记录成为当前记录
    '如果记录指针指向第一个记录之前,则使其指向第一个记录
    If ObjRS.BOF Then
        ObjRS.MoveFirst
    End If
    '显示当前记录数据
    TxtUserName = ObjRS.Fields("用户名").Value
    TxtPassWord = ObjRS.Fields("口令").Value
    TxtMsg = ObjRS.AbsolutePosition & "/" & ObjRS.RecordCount
End Sub

下面就要关闭连接和释放对象等了:

Private Sub Form_Unload(Cancel As Integer)
    Set ObjRS = Nothing
    ObjCn.Close
    Set ObjCn = Nothing
End Sub

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 网销客户不说话怎么办 两岁宝宝不说话怎么办? 4岁儿童说话结巴怎么办 3岁宝宝说话结巴怎么办 6岁儿童舌头短怎么办 5岁宝宝说话结巴怎么办 两岁宝宝说话晚怎么办 6岁儿童说话结巴怎么办 2岁宝宝呕吐拉稀怎么办 2岁宝宝突然呕吐怎么办 2岁宝宝呕吐发烧怎么办 2岁宝宝呕吐厉害怎么办 1岁宝宝半夜呕吐怎么办 2岁半宝宝呕吐怎么办 2岁宝宝半夜呕吐怎么办 两岁宝宝一直吐怎么办 原画师老了以后怎么办 孩子不想上学怎么办怎么去说服 嫉妒别人比我好怎么办 三岁宝宝爱打人怎么办 1岁宝宝喜欢打人怎么办 ps图层解锁不了怎么办 沈腾结婚马丽怎么办 延长甲没有纸托怎么办 高考第一志愿没录取怎么办 电子画颜料干了怎么办 数字画颜料干了怎么办 彩砂纸画不好了怎么办 宝宝吃了油画棒怎么办 2岁宝宝不爱刷牙怎么办 两岁宝宝不刷牙怎么办 1岁宝宝不爱刷牙怎么办 3岁宝宝不肯刷牙怎么办 20岁没学历迷茫怎么办 四岁了不长头发怎么办 17岁掉头发严重怎么办 头发很油,又少怎么办 25岁头发变稀怎么办 宝宝头发少又黄怎么办 头旋附近头发少怎么办 25岁掉头发严重怎么办