vb实现多用户登录

       利用vb实现多用户登录,主要是将vb与数据库实现链接,这个问题在作品展中我们的软件“天天迹录”的登录时用到,但是当时自己只是知道有这么个功能,但是那些代码的含义并不明白,在3个月后的我又有机会接触到它,现在敲这特别熟悉,现在也明白了其中的好多问题!,
利用数据库存储用户和密码,提高了软件运行的速度!而且可以供更多的用户使用!

Public Function ConnectString() As String  '链接数据库
    '返回数据库链接
    ConnectString = "provider =sqloledb;server=IP(写运行时数据库的存放地址);UID=sa;PWD=123456;database=charge"
End Function


Public Function exectuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
    Dim cnn As ADODB.Connection '定义链接
    Dim rst As ADODB.Recordset
    Dim sTokens() As String '定义字符串
    
    On Error GoTo executeSQL_error '异常处理
    
    sTokens = Split(SQL) '拆分字符串函数
    '用Split函数产生一个包含各个子串的数组
    Set cnn = New ADODB.Connection  ' 创建连接
    cnn.Open ConnectString
    '判断字符串中是否含有指定内容
    If InStr("insert, delete,update", UCase$(sTokens(0))) Then '$表示返回的类型明确是字符型。
    
        cnn.Execute SQL    '执行查询语句
        MsgString = sTokens(0) & "query successful"   '返回查询信息
    Else
        Set rst = New ADODB.Recordset '创建数据集对象
        rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockBatchOptimistic '返回查询结果
        'adLockOptimistic 仅当调用update方法时,数据提供者锁定记录 adLockBatchOptimistic 用于批处理修改
        '这个是缺省值。 adOpenKeyset 反映由其它用户所做的对记录的改变或者删除动作,但并不反映由其它用户做作的添加新记录的动作。
        Set executeSQL = rst  '返回记录集对象
        MsgString = "查询到" & rst.RecordCount & "记录"
    End If
    
executeSQL_exit:
    Set rst = Nothing '清空数据集对象
    Set cnn = Nothing '中断连接
    Exit Function
    
executeSQL_error:    '判断错误类型
    messtring = "查询错误:" & Err.Description
    
    Resume executeSQL_exit  'Resume 语句 在错误处理程序结束后,恢复原有的运行。
    
End Function
Public Function Testtxt(txt As String) As Boolean
    If Trim(txt) = "" Then
        Testtxt = False
    Else
        Testtxt = True
    End If
    
End Function
'创建窗体
Private Sub Form_Load()
    Dim txtSQL As String
    Dim MsgText As String
    Dim mrc As ADODB.Recordset
    txtSQL = "select * from 表 "
    Set mrc = ExecuteSQL(txtSQL, MsgText)
     mrc.MoveFirst
    Call viewData
    mybookmark = mrc.Bookmark
    mcclean = True
    
     If mrc.EOF = False Then
        mrc.MoveFirst
        Call viewData
        mybookmark = mrc.Bookmark
    Else
        MsgBox "没有记录!", vbOKOnly + vbExclamation, "警告"
        Exit Sub
    End If


End Sub



posted on 2013-08-30 18:59  you Richer  阅读(1090)  评论(0编辑  收藏  举报