| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 909 人关注过本帖
标题:求高手相助我把,VB连接Access有问题,自己搞不定啊,挥泪
只看楼主 加入收藏
阳光果肉22
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-11-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
求高手相助我把,VB连接Access有问题,自己搞不定啊,挥泪
桌面.rar (81.73 KB)
高手们,请帮帮忙啊,小女子纠结这个问题很久了,大致是这样子的,我要用VB去连接数据库,是2003版本的,一开始用Data控件不行,我就改用ADO了,后来就发现有个问题,我的Access的内容是   然后当用户名中输入1,密码框中输入1,按回车或者登陆按钮都是可以的,但是如果密码框中输入2,按回车就显示密码错误,但是很奇怪如果按登陆竟然也是对的,同样的当用户名输入2,密码输入2,按登陆可以进入,但是回车却显示错误,纠结,我是一个大菜鸟
    yonghuming    password
      1              1
      2              2
 
程序代码:
Option Explicit
Dim SqlStr As String

Private Sub Command1_Click()
Dim Yonghuming As String
If Text1.Text <> "" And Text2.Text <> "" Then   '检查是否输入了数据
    Yonghuming = Text1.Text
    Adodc1.RecordSource = "Admin"                '设置使用的表
    SqlStr = "SELECT password FROM Admin WHERE yonghu='" & Yonghuming & "'"  '输入SQL语句,查询密码
    Adodc1.RecordSource = SqlStr
   
   
   If Adodc1.Recordset.Fields("password") <> Text2 Then     '检查密码是否正确
        MsgBox "你的用户名或密码有错误!", , "发生错误了!"
        Text2.Text = ""
        Exit Sub
    End If
    Me.Hide             '若密码正确则进入管理界面
    guanli.Show

Else
  MsgBox "请输入用户名与密码!", , "发生错误了!"
End If


End Sub

Private Sub Command2_Click()
End
End Sub

Private Sub Form_Activate()
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus

End Sub

Private Sub Form_Load()
Adodc1.RecordSource = App.Path & "\Database11.mdb"
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Text2.SetFocus
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Command1_Click
End Sub


搜索更多相关主题的帖子: 密码 连接数据库 password 用户名 小女子 
2011-11-02 16:29
阳光果肉22
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-11-2
收藏
得分:0 
顶起
2011-11-02 16:34
阳光果肉22
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-11-2
收藏
得分:0 
怎么没有人理我呢
2011-11-02 19:50
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:7 
text.datasource=""
text.datafield=""

无知
2011-11-02 23:42
一生得记忆
Rank: 2
等 级:论坛游民
帖 子:4
专家分:35
注 册:2011-10-13
收藏
得分:7 
你得判断没有自动机制,第一次判断之后,数据库表虚拟打开状态,你在第二次判断得时候,实际上判断得还是第一次得数据。所以才地出现如此得数据错误,建议同时判断用户名和密码,之后再判断是否有记录就可以了。

走到哪里,交流学习到哪里。
2011-11-04 11:58
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:653
专家分:3402
注 册:2008-5-7
收藏
得分:7 
对adodc控件改变sql语句后好像还要adodc1.refresh吧(刷新,产生新记录集),再就是如楼上所说做一次空记录判断,否则会出错,你的程序可能前面有on error resume next语句(上个过程),否则应该有出错提示的。具体修改如下(蓝色部分是我加入的语句,我没验证,不保证正确):
If Text1.Text <> "" And Text2.Text <> "" Then   '检查是否输入了数据
    Yonghuming = Text1.Text
    Adodc1.RecordSource = "Admin"                '设置使用的表
    SqlStr = "SELECT password FROM Admin WHERE yonghu='" & Yonghuming & "'"  '输入SQL语句,查询密码
    Adodc1.RecordSource = SqlStr
    Adodc1.refresh
   If not Adodc1.Recordset.eof and not Adodc1.Recordset.bof then '记录集不为空
   If Adodc1.Recordset.Fields("password") <> Text2 Then     '检查密码是否正确
        MsgBox "你的用户名或密码有错误!", , "发生错误了!"
        Text2.Text = ""
        Exit Sub
    End If
    Me.Hide             '若密码正确则进入管理界面
    guanli.Show

Else
  MsgBox "请输入用户名与密码!", , "发生错误了!"
End If
else
  msgbox "没有" & Yonghuming & "这个用户",,"错误提示"
end if
2011-11-05 09:53
阳光果肉22
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-11-2
收藏
得分:0 
回复 6楼 lowxiong
谢谢解答,楼主万分感谢
2011-11-07 19:42
阳光果肉22
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-11-2
收藏
得分:0 
回复 5楼 一生得记忆
好的,多谢大家热情相助,我去试试
2011-11-07 19:42
一生得记忆
Rank: 2
等 级:论坛游民
帖 子:4
专家分:35
注 册:2011-10-13
收藏
得分:0 
呵呵。不用客气。解决问题才是好得。

走到哪里,交流学习到哪里。
2011-11-09 00:43
quanquanwang
Rank: 2
等 级:论坛游民
帖 子:25
专家分:39
注 册:2011-11-14
收藏
得分:0 
楼主的问题解决了吗?我现在也在做一个VB+ACCESS的小程序,但是貌似也是连接有问题,不知道是不是建立连接的过程有问题。楼主能不能把建立连接的过程发一下?QQ525051790,方便的话我可以把程序发你看一下
2011-12-05 11:29
快速回复:求高手相助我把,VB连接Access有问题,自己搞不定啊,挥泪
数据加载中...
 
   



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

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