请教:如果vb.net2010一句话不能解决这个问题,我只能表示不解。
vb.net吧
全部回复
仅看楼主
level 1
vb_xf 楼主
刚刚接触vb.net,根据自己的思路做了一个密码登录程序。思路是这样的:
1,将用户输入的用户名作为条件,查询到符合条件的密码
2,比较用户输入的密码与数据库查询到的结果,相同则打开新的form,不同则msgbox("密码错误")
这些都通过了,但是有一个问题:如果用户名不存在的情况下,即查询到的结果为空,错误提示为:“未将对象引用设置到对象的实例”!天啊,这是中国字不错,但中国人看不懂啊!
捣鼓了一天了,我的思路是找一个函数判断,如果查询结果为空,则msgbox("该用户不存在"),可是百度了好多好多,就是找不到答案。
或者说查询结果有记录为真,无记录为假也可。
在此求教达人了,不胜感谢!
此外,不寻求其它密码验证思路,因为我觉着这个是最简单方案,其它的方案我这也有,没有错误只是思路稍显啰嗦。
2012年01月20日 07点01分 1
level 1
慢慢的发现,学编程的人越来越少,学编程的网站也越来越少。。能发现的高手,也越来越少。。一起学编程的好友,越来越少。。祝你好运。。顺祝新年快乐
2012年01月20日 12点01分 2
level 12
使用Try ... Catch ... End Try
2012年01月22日 08点01分 3
level 1
vb_xf 楼主
先谢谢了,回头自己研究一下。
2012年01月25日 20点01分 4
level 1
vb_xf 楼主
谢谢回复,我已经解决这个问题,现拿出来分享。
If myreader.HasRows = True Then
MsgBox("用户名已存在!", vbExclamation)
Exit Sub
End If
myreader为查询结果,hasrows是判断记录是否存在一行或者更多行。
这个用法个人认为用途很广,可以很简单地做密码登录程序,举例如下:
1.查询数据同时符合用户名和密码的记录;
2.判断记录行是0还是非0(用HasRows),非0即通过验证。(用户名可定是数据库唯一的,没有哪个程序员会允许2个相同的用户名吧!)
这么做的好处是效率高,代码少。检索数据库时只需要一个条件,且检索结果也只需要判断真假,最大化提高了执行效率。
这个思路大致这样,还没来得及验证。
2012年01月25日 21点01分 5
level 1
你用错搜索引擎了,你应该用GOOGLE或者BING就能找到答案了,我刚才也遇到了这个问题,google一下,第一页就解决问题了,baidu只是用来看广告和中毒的
2012年01月28日 09点01分 6
1