先截图看我写的代码
我用重定向跳转页面,就是用户和密码两个文本框,一个按钮登录,当我点击按钮时我判断在数据库中是否有值,如果有成功跳转,如果只是用户名不正确,就跳转到提示用户名错误的页面,反之如果密码不正确就跳转到提示密码错误的页面中去,怎么做?
我上面的代码只能判断成功登录正确,但是如果我把密码或者用户名其中一个输入错误它就报错了?求解答?似乎是dt.rows[0][0]没有值,但是这个要怎么做?
我是新手,请尽量详细点,谢谢
sql语句是要查询数据库中和你输入的用户名密码相匹配的数据,如果你输入错误的密码的话,就查询不到对应的数据,SelectBy返回一个空的DataTable,这时你对DataTable进行操作就会报错。
你这个需求的话:
public string Login(string userName, string passWord)我用了你的方法试了,还是报一样的错误?
也是用户名和密码正确才能进去,如果我输入的用户名或者密码其中一个错误它就报错了
请帮我再看看,谢谢
把sql语句里面的“and pass=='{1}'”去掉。
先查询数据库中是否有该用户的数据。如果有该用户的数据,则取出来,进入下一步逻辑判断。否则提示“用户名不存在”。
然后判断数据库中该用户的密码与输入的密码是否一致,如果一致,则成功。否则提示“密码不正确”。
我用了你说的方法判断,还是跟我写的错误一样,它就直接跳进去 了,反正只要你的用户名和密码其中一项错误了,它就报错了,如果可以希望能给我代码看?
就是这道题:
用户名不正确
其实这种情况下不用使用Datatable,用Datareader最简单。你上面的那个错误,是因为即使没有记录,datatable也不是为空的,应该同时判断dt和dt.Rows不为空,同时dt.Rows.Count必须大于0.如果使用DataReader的话,你就只需要判断DataReader.reader()是不是存在即可。