我在连接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编辑过]