[VB.NET]登陆代码问题!!
2008-12-28 11:16
344 查看
<script type="text/javascript"><!--
google_ad_client = "pub-8333940862668978";
/* 728x90, 创建于 08-11-30 */
google_ad_slot = "4485230109";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
登陆代码问题!!
这是我的登录界面中 确定中的代码 可是输入了和数据库对应的密码 却显示密码错误
求高手详解
Dim strSQL As String
Dim cn As New SqlClient.SqlConnection
Dim rs As New DataSet
cn.ConnectionString = "server=COMPUTER;Database=NEW;uid=sa;Password=; "
cn.Open()
strSQL = "select 密码 from 登录 where 用户名= '' " & 用户登录_Renamed.Text & " '' "
Dim da As New SqlClient.SqlDataAdapter(strSQL, cn)
Dim count As Int32 = da.Fill(rs)
If count = 0 Then
MsgBox( "用户名不正确 ")
Else
If rs.Tables(0).Rows(0).Item(0).ToString = Text1.Text Then
MsgBox( "登录成功 ")
Else
MsgBox( "密码错误 ")
End If
End If
__________________________________________________________________________
注意看看有没有空格在里面
__________________________________________________________________________
我这里没有错误...
__________________________________________________________________________
完全登录正常...
__________________________________________________________________________
您可以用
MsgBox(rs.Tables(0).Rows(0).Item(0).ToString)
查看一下取到的是不是您要的内容。
__________________________________________________________________________
就是说
rs.Tables(0).Rows(0).Item(0).ToString
和
Text1.Text
是不是匹配。
__________________________________________________________________________
MsgBox(rs.Tables(0).Rows(0).Item(0).ToString)
怎么查看
__________________________________________________________________________
快疯了
__________________________________________________________________________
在sql查询分析器中输入这段代码显示如下
服务器: 消息 156,级别 15,状态 1,行 1
在关键字 ''As '' 附近有语法错误。
服务器: 消息 156,级别 15,状态 1,行 9
在关键字 ''Then '' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 12
第 12 行: ''. '' 附近有语法错误。
__________________________________________________________________________
看上去好像没什么错啊!!!
__________________________________________________________________________
我仔细看过了没有多余的空格在里面啊
__________________________________________________________________________
MsgBox(rs.Tables(0).Rows(0).Item(0).ToString)
这一句加在
Dim count As Int32 = da.Fill(rs)
这一句之后,运行看看内容到底是什么?
__________________________________________________________________________
提示密码错误,由此可以知道你的数据库中的语句没有问题的.
现在你可以在这里加个对话框看看 里面的数值了.
比如:
__________________________________________________________________________
MessageBox.Show(rs.Tables(0).Rows(0).Item(0).ToString + vbCrLf + Text1.Text)
''加上这句看得到的字符自己比一下
__________________________________________________________________________
If count = 0 Then
MsgBox( "用户名不正确 ")
Else
MessageBox.Show(rs.Tables(0).Rows(0).Item(0).ToString + vbCrLf + Text1.Text)
''加上这句看得到的字符自己比一下
If rs.Tables(0).Rows(0).Item(0).ToString = Text1.Text Then
MsgBox( "登录成功 ")
Else
MsgBox( "密码错误 ")
End If
End If
''忘了说那里加了
__________________________________________________________________________
你抓一下SQL语句试试,看对不对
__________________________________________________________________________
MsgBox(rs.Tables(0).Rows(0).Item(0).ToString)
这一句加在
Dim count As Int32 = da.Fill(rs)
这一句之后,运行看看内容到底是什么?
运行了后是123 我输入密码框中的密码也是123 可是提示密码错误
__________________________________________________________________________
If count = 0 Then
MsgBox( "用户名不正确 ")
Else
MessageBox.Show(rs.Tables(0).Rows(0).Item(0).ToString + vbCrLf + Text1.Text)
''加上这句看得到的字符自己比一下
If rs.Tables(0).Rows(0).Item(0).ToString = Text1.Text Then
MsgBox( "登录成功 ")
Else
MsgBox( "密码错误 ")
End If
End If
这个运行后也是123 和数据库中的一样 就是输入到密码框就密码错误
__________________________________________________________________________
If count = 0 Then
MsgBox( "用户名不正确 ")
Else
If rs.Tables(0).Rows(0).Item(0).ToString.Trim() = Text1.Text Then
MsgBox( "登录成功 ")
Else
MsgBox( "密码错误 ")
End If
End If
__________________________________________________________________________
你把 对话框中的东西 全部 copy出来看看?
__________________________________________________________________________
换一下: 对话框:
MessageBox.Show(rs.Tables(0).Rows(0).Item(0).ToString + " '' "+ vbCrLf + Text1.Text+ " '' ")
__________________________________________________________________________
你也可查看一下你从数据库中读出的 rs.Tables(0).Rows(0).Item(0)的长度,如果不等于你输入的长度的话,用Trim()把空格去掉就可以了!我以前也遇到过!弄了一个下午呵呵!挺郁闷的!
__________________________________________________________________________
If count = 0 Then
MsgBox( "用户名不正确 ")
Else
If rs.Tables(0).Rows(0).Item(0).ToString.Trim() = Text1.Text Then
MsgBox( "登录成功 ")
Else
MsgBox( "密码错误 ")
End If
End If
用这个成功了 谢谢了 谢谢帮助过的人了
__________________________________________________________________________
从安全的角度来讲,你应该把用户名错误和密码错误,放在一个 "错误提示 "里...告诉用户:用户名或密码错误....
__________________________________________________________________________
你的登录代码怎么写的这么的复杂呢.其实登录也没有必要写这么复杂吧.
SqlConnection con实际一下----打开----命令语句SqlCommand-----在用SqlDataReader去读----
判断一下if(dr.Read())------关闭数据库就可以了.
我怎么看你的上面写的那么的复杂呢!
__________________________________________________________________________
其实其中的Sql语句也是很简单的.
对了你好像用的不是存储过程做的哟.那也没什么,你可以用下面的语句
select * from 登录表名 where 你所建表中的用户名= '' "+界面文本框中的内容+ " '' and 你所建表中的用户名密码= '' "+界面文本框中的内容+ " ''
这样就可以了呀
__________________________________________________________________________
相关文章推荐
- 关于VB.net代码转化为C#代码出现的一些问题
- 写VB.Net代码时候要注意字体问题。
- vb.net从DataGridView复制到Excel.代码实现,解决中文乱码问题 (转载+亲自实践)
- 一个vb.net的用户登陆页面代码
- 【VB.net】三层登陆的代码实现
- 谈谈C#和VB.NET代码的转换问题
- 一个vb.net的用户登陆页面代码
- 谈谈C#和VB.NET代码的转换问题
- 开发环境下登陆界面后台代码问题#ASP.NET类型
- [VB.NET]登录代码调试问题
- [VB.NET]openFileDialog控件的问题:以下两种代码哪个更优化一些?
- vb.net 调用Delphi dll问题
- Asp.net获取客户端IP常见代码存在的问题:伪造IP
- 在DataGrid中实现无刷新编辑列的代码(VB.NET 2003)
- 迁移到 ASP .NET:需考虑的重要问题(VB.net)
- 如何解决ASP.NET下载时的中文文件名乱码,与TXT文件中存在代码两个问题
- vb.net 将数据库中的内容显示到comboBox中的代码
- 想请教大家一个vb.net问题
- 机房收费系统总结之4——VB.NET 轻松解决判断文本框、组合框为空问题
- VB.NET ACCESS数据库SQL查询使用时间的问题