| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1033 人关注过本帖
标题:关于密码登陆的问题
只看楼主 加入收藏
wangfuli
Rank: 4
等 级:贵宾
威 望:12
帖 子:206
专家分:10
注 册:2005-11-11
收藏
 问题点数:0 回复次数:7 
关于密码登陆的问题

我在连接server2000的服务器做登陆密码是遇到这样的问题,叫我很是头疼,服务器名是ddd,数据库是library,在数据库下,有一个information表,其中有userid和usersecret,两者都是char(8),其中一个用户的userid为0001,密码为0001,我用的代码如下:

Dim str As String
Dim cnnstr As String = “provider=sqloledb;server=ddd;database=library;integrated security=sspi”
str = "select * from userinformation where userid='" & useid.Text & "'"
Dim da As New OleDb.OleDbDataAdapter(str, cnnstr)
da.Fill(ds, "secretcheck")
If CStr(TextBox2.Text) <> CStr(ds.Tables("secretcheck").Rows(0).Item("usersecret")) Then
MessageBox.Show("密码错误")
else

MessageBox.Show("密码正确")

End If

这样的话,不关输入什么密码是“密码错误”

要是把其中的CStr(TextBox2.Text) <> CStr(ds.Tables("secretcheck").Rows(0).Item("usersecret"))

改成cchar(TextBox2.Text) <> Cchar(ds.Tables("secretcheck").Rows(0).Item("usersecret")) 的话,输入密码0001提示正确,但是输入0或01或001等,都提示正确,就是说只要密码的第一位是0,就提示正确,

请问为什么了?

我先在这里谢谢大家了!

[此贴子已经被作者于2006-4-8 18:48:33编辑过]

搜索更多相关主题的帖子: 密码 数据库 服务器 userid Dim 
2006-03-20 19:51
renzq2008
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-7-17
收藏
得分:0 
首先,看你提供的代码怎么都是“密码错误”?
其次:你查一下cstr和cchar的区别,应该是后者转换成一个字符吧,它将他们都转换成了“1”,当然0001和01、001没有区别了。
别嘲笑我。
先替你顶。
2006-04-03 15:57
lrvinghu
Rank: 2
等 级:新手上路
威 望:4
帖 子:171
专家分:0
注 册:2006-4-12
收藏
得分:0 
cchar是将str字符串转换成了str的第一个字符,所以001和0001的cchar都是0
对于用cstr出错是因为你的usersecret是char(8)的,所以ds.Tables("secretcheck").Rows(0).Item("usersecret") & "dd" 的值就是"00001 dd",你改成:
If CStr(TextBox2.Text).trim<> CStr(ds.Tables("secretcheck").Rows(0).Item("usersecret")).trim Then
就可以了

2006-04-12 16:09
Viviwei
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:344
专家分:0
注 册:2006-4-11
收藏
得分:0 
字段好象都没有错,应该是if语句上的问题,如果正确的话应该反馈密码正确
而你的反馈是密码错误

爱上思考,爱上编程,爱上.net!
2006-04-12 20:32
wangfuli
Rank: 4
等 级:贵宾
威 望:12
帖 子:206
专家分:10
注 册:2005-11-11
收藏
得分:0 
太感谢lrvinghu了,就是你说的那个问题,在说一声谢谢

2006-04-17 20:44
lrvinghu
Rank: 2
等 级:新手上路
威 望:4
帖 子:171
专家分:0
注 册:2006-4-12
收藏
得分:0 
不客气,大家相互学习

2006-04-19 16:02
六个石头
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-3-26
收藏
得分:0 

怎么都是用连接SQL的数据库!连接Access数据库怎么做啊!

2006-05-17 23:38
jxzyh1
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-4-29
收藏
得分:0 

这可以连接上数据库但是就只能在开发机上运行
Private Sub login_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim st As String

Dim filename As String = Application.ExecutablePath()
filename = filename.Substring(0, filename.LastIndexOf("\") + 1)
filename = filename & "chuzu.mdb"

st = " PageTimeout=5;FIL=MS Access;MaxBufferSize=2048;DSN=22;UID=admin;DBQ=" + filename + ";DriverId=25"
Try
cn1 = New OdbcConnection(st)
cn1.Open()
cnflag = True
' MsgBox("连接成功!!")
Catch ex As Exception
MsgBox("连接失败!!!!!!!!!!!!!")
End Try
End Sub
想请教各位大哥,我怎么修改上面的数据库连接,可以达到在任何的电脑上都可以打开数据库

2006-05-21 20:23
快速回复:关于密码登陆的问题
数据加载中...
 
   



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

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