| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 506 人关注过本帖
标题:做了个登录框 无法识别数据库存 求解
只看楼主 加入收藏
我好学习
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-9-19
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:5 
做了个登录框 无法识别数据库存 求解
test.rar (10.45 KB)
我做了张数据库的表,不知错在那里,请指教,我做了一个带登录框,有用户名和密码要用到这个数据库,总是提示:“不可识别的数据库格式”。请教高手我错在那儿?
搜索更多相关主题的帖子: 用户名 数据库 密码 
2013-09-20 16:11
我好学习
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-9-19
收藏
得分:0 
Private Sub Command1_Click()
Dim sql As String
Dim conn As New ADODB.Connection
Dim rs_login As New ADODB.Recordset
If Trim(Text1.Text) = "" Then               '检测用户名正确与否
    MsgBox "用户名不能为空,请重新输入!", vbOKOnly + vbExclamation, "错误"
    Text1.SetFocus
Else
    sql = "select * from Test where test_info  = '" & Text1.Text & "'"
    rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic
    If rs_login.EOF = True Then
        MsgBox "用户名不存在,请重新输入!", vbOKOnly + vbExclamation, "错误"
        Text1 = ""
        Text1.SetFocus
    Else                                        '检测密码正确与否
        If Trim(rs_login.Fields(1)) = Trim(Text2) Then
            rs_login.Close
            Unload Me
            Form2.Show
        Else
            MsgBox "密码错误,请重新输入!", vbOKOnly + vbExclamation, "错误"
            Text2.SetFocus
        End If
    End If
End If
End Sub


Private Sub Command2_Click()
    MsgBox "您已成功退出!", vbOKOnly + vbExclamation, "提示"
    Unload Me
End Sub


Private Sub Form_Load()         '此段代码的主要作用是当窗体打开时就连接数据库
Dim conn As New ADODB.Connection
Dim connectionstring As String
connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "E:\Test.mdb;Persist Security Info=False"          '将Data Source 处的路径改为你本机数据库所在路径即可
conn.Open connectionstring
End Sub

这是我做的登录框代码
2013-09-20 16:49
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:653
专家分:3402
注 册:2008-5-7
收藏
得分:2 
你的connection没有定义为全程变量,只在form_load连接数据库,到command中连接就失效了。改成如下代码试试

Dim conn As New ADODB.Connection
Private Sub Command1_Click()
Dim sql As String
Dim rs_login As New ADODB.Recordset
If Trim(Text1.Text) = "" Then               '检测用户名正确与否
    MsgBox "用户名不能为空,请重新输入!", vbOKOnly + vbExclamation, "错误"
    Text1.SetFocus
Else
    sql = "select * from Test where test_info  = '" & Text1.Text & "'"
    rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic
    If rs_login.EOF = True Then
        MsgBox "用户名不存在,请重新输入!", vbOKOnly + vbExclamation, "错误"
        Text1 = ""
        Text1.SetFocus
    Else                                        '检测密码正确与否
        If Trim(rs_login.Fields(1)) = Trim(Text2) Then
            rs_login.Close
            Unload Me
            Form2.Show
        Else
            MsgBox "密码错误,请重新输入!", vbOKOnly + vbExclamation, "错误"
            Text2.SetFocus
        End If
    End If
End If
End Sub


Private Sub Command2_Click()
    MsgBox "您已成功退出!", vbOKOnly + vbExclamation, "提示"
    Unload Me
End Sub


Private Sub Form_Load()         '此段代码的主要作用是当窗体打开时就连接数据库
Dim connectionstring As String
connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "E:\Test.mdb;Persist Security Info=False"          '将Data Source 处的路径改为你本机数据库所在路径即可
conn.Open connectionstring
End Sub

2013-09-20 20:30
chen3523
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:33
帖 子:223
专家分:1165
注 册:2013-2-12
收藏
得分:2 
我的登录系统是:
Private Sub Command1_Click()
  ComIn
End Sub

Private Sub Command2_Click()
  End
End Sub

Private Sub Form_Activate()
  Dim s As String
  s = App.Path & "\evaluation.mdb"
   Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source =" + Chr(34) + s + Chr(34) & ";Persist Security Info=False" '打开数据库
  = adCmdTable
 Adodc1.RecordSource = "登录表"
 Adodc1.Refresh
 Text1.SetFocus
End Sub

Private Sub Form_Load()
  Label1.Caption = "欢迎使用土地评估登记系统!"
  Frm_in.Width = 6500
  Frm_in.Height = 4500
  Frm_in.Top = (Screen.Height - Frm_in.Height) / 4
  Frm_in.Left = (Screen.Width - Frm_in.Width) / 2
  Text1.Text = ""
  Label3.Caption = "作者:陈**  电话 137**"
  Label3.Enabled = False
  Text2.Visible = False
  Adodc1.Visible = False
  Text1.PasswordChar = "*"
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
  If KeyAscii = 13 Then ComIn
End Sub

Public Sub ComIn()
  User_Entry = Text2.Text
Dim i As Integer
Static n As Integer    '静态变量用于统计登录次数
  If Text1.Text = User_Entry Then
      Unload Frm_in        '关闭系统登录
  MDIForm1.task.Enabled = True
  MDIForm1.gathering.Enabled = True
  MDIForm1.query.Enabled = True
  MDIForm1.production.Enabled = True
  MDIForm1.Delete.Enabled = False
  MDIForm1.Join.Enabled = False
  MDIForm1.eData.Enabled = True
  
  
  task_num = 1
  gathering_num = 1
  query_num = 1
  production_num = 1
  delete_num = 0
  join_num = 0
  edata_num = 1
  
  ElseIf Text1.Text = User_Entry + 1 Then
      Unload Frm_in        '关闭系统登录
  MDIForm1.task.Enabled = True
  MDIForm1.gathering.Enabled = True
  MDIForm1.query.Enabled = True
  MDIForm1.production.Enabled = True
  MDIForm1.Delete.Enabled = True
  MDIForm1.Join.Enabled = True
  MDIForm1.eData.Enabled = True
  
  task_num = 1
  gathering_num = 1
  query_num = 1
  production_num = 1
  delete_num = 1
  join_num = 1
  edata_num = 1
  Else
    n = n + 1
    If n < 3 Then
       i = MsgBox("登录密码错误,请重新输入!", vbCritical + vbRetryCancel + vbDefaultButton1, "登录失败")
       If i = vbRetry Then
          Text1.Text = ""
          Text1.SetFocus
       Else
          End
       End If
    Else
      End
    End If
  End If
End Sub

调试失败3次后,关机睡觉,当醒来时多有收获。
2013-09-20 20:39
我好学习
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-9-19
收藏
得分:0 
还有应该是我做的数据库表不对,应该怎么做好?
2013-09-21 09:06
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:1 
test.accdb 可以的话,请改为这个。还有,自己转个03版是数据库吧!
2013-09-21 18:56
快速回复:做了个登录框 无法识别数据库存 求解
数据加载中...
 
   



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

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