[VB.NET]登录代码调试问题

本文讨论了一个VB.NET登录代码在调试过程中遇到的问题,主要问题是出现System.MissingMemberException异常及如何正确读取数据库中的密码进行比对。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VB.NET源码-156个实用实例哦…… <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
登录代码调试问题
未处理的“System.MissingMemberException”类型的异常出现在 microsoft.visualbasic.dll 中。

其他信息: 未找到类型“String”的公共成员“Value”。


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)(0).Value = Text1.Text Then
MsgBox( "登录成功 ")
Else
MsgBox( "密码错误 ")
End If
End If


调试后
If rs.Tables(0).Rows(0)(0).Value = Text1.Text Then

这行是黄字显示
__________________________________________________________________________

你 将 rs.tables()这种方式改为
Rs!字段名 这样方式看看!我在vb6里就这么干的


※SET 奥特曼生命上限值=↑↑↓↓←→←→BA 当任何人看到我的回贴时表示该楼主已受到奥特曼共和国零分贴计划的特别保护,任何版主如果擅自删除楼主的贴子将会受到动感死光的惩罚※
__________________________________________________________________________
我不是很懂你说的 能不能具体一些呢,最好给个现成的。


我实在是太菜了!!
__________________________________________________________________________
将Dim count As Int32 = da.Fill(rs)
改为
da.Fill(rs)
Dim count As Int32 = dr.Tables(0).Rows(0)(0).count
__________________________________________________________________________
补通一下
将Dim count As Int32 = da.Fill(rs)
改为
da.Fill(rs)
Dim count As Int32 = rs.Tables(0).Rows(0)(0).count
__________________________________________________________________________
将Dim count As Int32 = da.Fill(rs)
改为
da.Fill(rs)
Dim count As Int32 = dr.Tables(0).Rows.count
__________________________________________________________________________
还是同样的问题 没有解决
__________________________________________________________________________
rs.Tables(0).Rows(0)(0).Value = Text1.Text
这个把.value去掉,用(string)转换下类型
__________________________________________________________________________
我把value 去掉了 运行时 输入密码显示的就是密码错误
__________________________________________________________________________
rs.Tables(0).Rows(0)(0).Value = Text1.Text
这个把.value去掉,用(string)转换下类型


用srting怎么转换类型啊??
__________________________________________________________________________
直接 rs.Tables(0).Rows(0)(0))=text1.text 就可以了!
__________________________________________________________________________

直接 rs.Tables(0).Rows(0)(0))=text1.text 就可以了!


这样不行啊 而且多了个),这样输入密码,显示的就是密码错误,不管输对的错的都是密码错误。
__________________________________________________________________________
rs.Tables(0)(0).ToString
相当于
rs.Tables(0).Item(0).ToString

上面字串的比较是区分大小写的.

......
用dataApdatper.Fill的话,cn.Open可以不用,它会自动open

最好呢,建一个登录的储存过程.返回值中取出错信息.
__________________________________________________________________________
我弄错了.
rs.Tables(0).Rows(0)(0)
相当于
rs.Tables(0).Rows(0).Item(0)
才是.上面漏了Rows
__________________________________________________________________________
我把rs.Tables(0).Rows(0)(0).Value 该成了

rs.Tables(0).Rows(0).Item(0).ToString

但是输入和数据库对应的密码 却显示密码错误


求解决办法
__________________________________________________________________________
rs.Tables(0).Rows(0).Item(0).ToString
__________________________________________________________________________
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值