现在的位置: 首页 > 综合 > 正文

VB数据库连接之二(数据源连接)

2013年09月20日 ⁄ 综合 ⁄ 共 1815字 ⁄ 字号 评论关闭

1.创建名称为“实例2DSN”的ODBC数据源

2.设计窗体     文本框名称分别为:txtUserName txtPassword txtMsg

                       按钮名称分别为:   cmdPre  cmdNext

   

3.功能实现

    (1).全局变量声明 

   Dim objRs As Recordset      '用于保存数据源记录集

   Dim objCn As Connection     '用于创建数据源连接
   Dim isNeedSave As Boolean   '用于标识是否需要执行保存操作
   (2).后一记录代码实现
  Private Sub cmdNext_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
   (3).前一记录代码实现
 Private Sub cmdPre_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
  (4).加载窗体
Private Sub Form_Load()
    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
End Sub

 (5).DoSave()方法实现
Private Sub DoSave()
    If isNeedSave Then                 '判断当前记录是否被修改
        objRs.Fields("用户名").Value = txtUserName
        objRs.Fields("口令").Value = txtPassWord
        objRs.Update                   '执行更新操作
    End If
End Sub
  (6).窗体卸载
Private Sub Form_Unload(Cancel As Integer)
    Set objRs = Nothing                '释放记录集对象
    objCn.Close                        '释放数据库连接
    Set objCn = Nothing                '释放连接对象
End Sub
  (7).口令文本框改变
Private Sub txtPassWord_Change()
    isNeedSave = True                  '在修改当前记录字段时,设置保存标识
End Sub
  (8).用户名文本框改变
Private Sub txtUserName_Change()
    isNeedSave = True                  '在修改当前记录字段时,设置保存标识
End Sub

   

抱歉!评论已关闭.