登陆
代码问题!! 这是我的
登录界面中 确定中的
代码 可是输入了和
数据库对应的密码 却
显示密码
错误 求高手详解 Dim str
sql As String Dim cn As New
sqlClient.
sqlConnection Dim rs As New DataSet cn.ConnectionString = "server=COMPUTER;Database=NEW;uid=sa;Password=; " cn.Open() str
sql = "select 密码 from
登录 where
用户名= '' " &
用户登录_Renamed.Text & " '' " Dim da As New
sqlClient.
sqlDataAdapter(str
sql,cn) Dim count As Int32 = da.Fill(rs) If count = 0 Then Msg
Box( "
用户名不正确 ") Else If rs.Tables(0).Rows(0).Item(0).ToString = Text1.Text Then Msg
Box( "
登录成功 ") Else Msg
Box( "密码
错误 ") End If End If __________________________________________________________________________ 注意看看有没有空格在里面 __________________________________________________________________________ 我这里没有
错误... __________________________________________________________________________ 完全
登录正常... __________________________________________________________________________ 您可以用 Msg
Box(rs.Tables(0).Rows(0).Item(0).ToString) 查看一下取到的是不是您要的
内容。 __________________________________________________________________________ 就是说 rs.Tables(0).Rows(0).Item(0).ToString 和 Text1.Text 是不是匹配。 __________________________________________________________________________ Msg
Box(rs.Tables(0).Rows(0).Item(0).ToString) 怎么查看 __________________________________________________________________________ 快疯了 __________________________________________________________________________ 在
SQL查询分析器中输入这段
代码显示如下 服务器: 消息 156,级别 15,状态 1,行 1 在关键字 ''As '' 附近有语法
错误。 服务器: 消息 156,级别 15,状态 1,行 9 在关键字 ''Then '' 附近有语法
错误。 服务器: 消息 170,级别 15,状态 1,行 12 第 12 行: ''. '' 附近有语法
错误。 __________________________________________________________________________ 看上去好像没什么错啊!!! __________________________________________________________________________ 我仔细看过了没有多余的空格在里面啊 __________________________________________________________________________ Msg
Box(rs.Tables(0).Rows(0).Item(0).ToString) 这一句加在 Dim count As Int32 = da.Fill(rs) 这一句之后,运行看看
内容到底是什么? __________________________________________________________________________
提示密码
错误,由此可以知道你的
数据库中的语句没有问题的. 现在你可以在这里加个对话框看看 里面的数值了. 比如: __________________________________________________________________________ Message
Box.Show(rs.Tables(0).Rows(0).Item(0).ToString + vbCrLf + Text1.Text) ''
加上这句看得到的字符自己比一下 __________________________________________________________________________ If count = 0 Then Msg
Box( "
用户名不正确 ") Else Message
Box.Show(rs.Tables(0).Rows(0).Item(0).ToString + vbCrLf + Text1.Text) ''
加上这句看得到的字符自己比一下 If rs.Tables(0).Rows(0).Item(0).ToString = Text1.Text Then Msg
Box( "
登录成功 ") Else Msg
Box( "密码
错误 ") End If End If ''忘了说那里加了 __________________________________________________________________________ 你抓一下
sql语句试试,看对不对 __________________________________________________________________________ Msg
Box(rs.Tables(0).Rows(0).Item(0).ToString) 这一句加在 Dim count As Int32 = da.Fill(rs) 这一句之后,运行看看
内容到底是什么? 运行了后是123 我输入密码框中的密码也是123 可是
提示密码
错误 __________________________________________________________________________ If count = 0 Then Msg
Box( "
用户名不正确 ") Else Message
Box.Show(rs.Tables(0).Rows(0).Item(0).ToString + vbCrLf + Text1.Text) ''
加上这句看得到的字符自己比一下 If rs.Tables(0).Rows(0).Item(0).ToString = Text1.Text Then Msg
Box( "
登录成功 ") Else Msg
Box( "密码
错误 ") End If End If 这个运行后也是123 和
数据库中的一样 就是输入到密码框就密码
错误 __________________________________________________________________________ If count = 0 Then Msg
Box( "
用户名不正确 ") Else If rs.Tables(0).Rows(0).Item(0).ToString.Trim() = Text1.Text Then Msg
Box( "
登录成功 ") Else Msg
Box( "密码
错误 ") End If End If __________________________________________________________________________ 你把 对话框中的东西 全部 copy出来看看? __________________________________________________________________________ 换一下: 对话框: Message
Box.Show(rs.Tables(0).Rows(0).Item(0).ToString + " '' "+ vbCrLf + Text1.Text+ " '' ") __________________________________________________________________________ 你也可查看一下你从
数据库中读出的 rs.Tables(0).Rows(0).Item(0)的长度,如果不等于你输入的长度的话,用Trim()把空格去掉就可以了!我以前也遇到过!弄了一个下午呵呵!挺郁闷的! __________________________________________________________________________ If count = 0 Then Msg
Box( "
用户名不正确 ") Else If rs.Tables(0).Rows(0).Item(0).ToString.Trim() = Text1.Text Then Msg
Box( "
登录成功 ") Else Msg
Box( "密码
错误 ") End If End If 用这个成功了 谢谢了 谢谢帮助过的人了 __________________________________________________________________________ 从安全的角度来讲,你应该把
用户名错误和密码
错误,放在一个 "
错误提示 "里...告诉
用户:
用户名或密码
错误.... __________________________________________________________________________ 你的
登录代码怎么写的这么的复杂呢.其实
登录也没有必要写这么复杂吧.
sqlConnection con实际一下----打开----命令语句
sqlCommand-----在用
sqlDataReader去读---- 判断一下if(dr.Read())------
关闭数据库就可以了. 我怎么看你的上面写的那么的复杂呢! __________________________________________________________________________ 其实其中的
sql语句也是很简单的. 对了你好像用的不是存储过程做的哟.那也没什么,你可以用下面的语句 select * from
登录表名 where 你所建表中的
用户名= '' "+界面文本框中的
内容+ " '' and 你所建表中的
用户名密码= '' "+界面文本框中的
内容+ " '' 这样就可以了呀 __________________________________________________________________________