| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1557 人关注过本帖
标题:救命啊!捆饶了我3个月的问题
只看楼主 加入收藏
xiaoyi152
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-4-15
收藏
得分:0 
回复 10# 的帖子
用户名没有重复的哦``有两条不同的记录,而且两条都可以登陆成功,就是在我不输入帐号点登陆的时候就出错误提示
2008-04-16 12:31
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 
给你个用户登陆的例子看吧

Private Sub cmdLogin_Click()
     Dim j As Integer
    If frmLoginFlag = True Then
        SQL = "select * from Account"
        Set rsnew = TransactSQL(SQL)
        If rsnew.RecordCount <> 0 Then
            rsnew.MoveFirst
            For j = 1 To rsnew.RecordCount
                If UCase(rsnew.Fields("用户名")) = UCase(txtUser.Text) And rsnew.Fields("密码") = txtPassword.Text Then
               
                '// 登陆ok   做需要的处理
                    frmLogin.Hide
                    LoginUser = rsnew.Fields("用户名")
                    frmMain.StatusBar1.Panels(1).Text = frmMain.StatusBar1.Panels(1).Text & LoginUser
                   '//处理完毕
                    MsDelayTick 500
                    rsnew.Close
                    frmMain.Show
                    frmMain.SetFocus
                    Unload frmLogin
                    Exit Sub
                Else
                    If rsnew.EOF = False Then
                        rsnew.MoveNext
                    Else
                        Exit For
                    End If
                End If
            Next j
            If rsnew.EOF = True Then
                logintime = logintime + 1
                txtPassword = ""
                txtUser = ""
                If logintime >= 3 Then
                    logintime = 0
                    Me.Hide
                    rsnew.Close
                    Unload Me
                    Exit Sub
                End If
                MsgBox "密码错误或用户名不存在!!请确认后重新登录"
                txtUser.SetFocus
            End If
            
        Else
            MsgBox "用户数据为空,  " & "!"
            rsnew.Close
            Me.Hide
            Unload Me
        End If
    End If
End Sub

Public Function TransactSQL(ByVal SQL As String) As ADODB.Recordset
    Dim con As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim strConnection As String
    Dim strArray() As String
    Set con = New ADODB.Connection                  '
    Set rs = New ADODB.Recordset                    '
    On Error GoTo TransactSQL_Error
        strConnection = "Provider=Microsoft.jet.oledb.4.0;Data Source=" & App.Path & "\data.mdb;Jet OLEDB:Database password=" & DBPWDstr
        strArray = Split(SQL)
        con.Open strConnection                      '
        If StrComp(UCase$(strArray(0)), "select", vbTextCompare) = 0 Then
            rs.Open Trim$(SQL), con, adOpenKeyset, adLockOptimistic
            Set TransactSQL = rs                   '??
            iflag = 1
        Else
            con.Execute SQL                        '
            iflag = 1
        End If
TransactSQL_Exit:
        Set rs = Nothing
        Set con = Nothing
        Exit Function
TransactSQL_Error:
        MsgBox "错误提示:" & Err.Description
        iflag = 2
        Resume TransactSQL_Exit
End Function

[[it] 本帖最后由 simpson 于 2008-4-16 16:09 编辑 [/it]]

全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2008-04-16 13:03
xiaoyi152
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-4-15
收藏
得分:0 
我晕`我是新手啊``你给的好多看不懂55555
2008-04-16 14:23
zougonghua
Rank: 1
等 级:新手上路
帖 子:163
专家分:0
注 册:2008-4-1
收藏
得分:0 
回复 12# 的帖子
用ADO是不是要在每个事件都应该定义和打开步骤啊意思就是每个事件都要写这段代码
    Dim con As ADODB.Connection
'    Dim rs As ADODB.Recordset
'    Dim strConnection As String
'    Set con = New ADODB.Connection                  '
'    Set rs = New ADODB.Recordset                    '
    If frmLoginFlag = True Then
        SQL = "select * from Account"
        Set rsnew = TransactSQL(SQL)
Set con = New ADODB.Connection                  '
    Set rs = New ADODB.Recordset                    '
    On Error GoTo TransactSQL_Error
        strConnection = "Provider=Microsoft.jet.oledb.4.0;Data Source=" & App.Path & "\data.mdb;Jet OLEDB:Database password=" & DBPWDstr
        strArray = Split(SQL)
        con.Open strConnection                      '
        If StrComp(UCase$(strArray(0)), "select", vbTextCompare) = 0 Then
            rs.Open Trim$(SQL), con, adOpenKeyset, adLockOptimistic
            Set TransactSQL = rs
2008-04-16 15:52
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 
回复 14# 的帖子
已经写成这个函数了 Public Function TransactSQL(ByVal SQL As String) As ADODB.Recordset

调用TransactSQL这个函数就好   只写一次..

全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2008-04-16 16:07
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 
回复 13# 的帖子
慢慢来   都是基础    估计你们的老师太烂   我上学时的老师也是太烂  呵呵

全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2008-04-16 16:10
zougonghua
Rank: 1
等 级:新手上路
帖 子:163
专家分:0
注 册:2008-4-1
收藏
得分:0 
回复 16# 的帖子
把这一段放在模块中吗?
2008-04-17 15:17
hy8649241
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-4-15
收藏
得分:0 
11
有一个地方空值了看错误的地方在哪里加个
no error
2008-04-25 01:52
快速回复:救命啊!捆饶了我3个月的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028290 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved