CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

帮忙看一下登陆代码

楼主ziyulin0311(echo)2006-06-02 13:58:00 在 .NET技术 / VB.NET 提问

With   datareader  
                          Do   While   .Read   =   True  
                                  If   TextBox1.Text   =   datareader.Item(1)   And   TextBox2.Text   =   datareader.Item(2)   Then  
                                          Response.Redirect("Default2.aspx")  
                                  Else  
                                          Response.Write("<script   language=javascript>alert('你输入的用户名/密码有错,请重新输入!!');history.go(-1)</script>")  
                                          Response.End()  
                                  End   If  
                          Loop  
                  End   With  
  为什么这段代码只能读到数据库中的第一条记录??用数据库中的第二条记录登陆,就会报"你输入的用户名/密码有错,请重新输入!!"??错在那里 问题点数:20、回复次数:8Top

1 楼bhwhy(苏秦)回复于 2006-06-02 14:00:54 得分 5

不能这样做啊.你应当在reader里循环,如果输入的名字和密码都对了,执行下一步,否则就退出.你这样做永远执行的是第一条.  
  while   dr.read  
  在这判断你的用户名和密码是不是相符,不符退出  
   
  end   whileTop

2 楼xiaoxuanZhu(我为人人,人人为我)回复于 2006-06-02 14:01:11 得分 5

While   datareader   .Read   =   True  
                                  If   TextBox1.Text   =   datareader.Item(1)   And   TextBox2.Text   =   datareader.Item(2)   Then  
                                          Response.Redirect("Default2.aspx")  
                                  Else  
                                          Response.Write("<script   language=javascript>alert('你输入的用户名/密码有错,请重新输入!!');history.go(-1)</script>")  
                                          Response.End()  
                                  End   If  
  end   whileTop

3 楼liangchi1018(星辰大海)回复于 2006-06-02 14:05:56 得分 10

第一条记录不满足就跳到错误提示了,当然不走下一条了。  
  With   datareader  
  dim   A   as   boolean  
                          Do   While   .Read   =   True  
                                  If   TextBox1.Text   =   datareader.Item(1)   And   TextBox2.Text   =   datareader.Item(2)   Then  
                                          Response.Redirect("Default2.aspx")  
  A=true  
                                  End   If  
                          Loop  
  if   not   a   then  
  Response.Write("<script   language=javascript>alert('你输入的用户名/密码有错,请重新输入!!');history.go(-1)</script>")  
                                          Response.End()  
   
  end   if  
   
     
                  End   With  
   
   
  没测试,直接打的字,思路没错。修改修改就可以了。Top

4 楼xiaoxuanZhu(我为人人,人人为我)回复于 2006-06-02 14:12:49 得分 0

楼上正解Top

5 楼xiaoxuanZhu(我为人人,人人为我)回复于 2006-06-02 14:13:26 得分 0

光顾抢沙发了,呵呵     不好意思哈Top

6 楼ziyulin0311(echo)回复于 2006-06-02 14:18:15 得分 0

为什么用"我为人人,人人为我的"代码还是不行,是不是跟select语句有关>>  
  select语句该怎么个写法Top

7 楼bitpolar(独自看天)回复于 2006-06-02 14:20:33 得分 0

其实最好先有个思路    
  首先这么解决是不是能够准确无误的达到想要的功能  
  在此基础上这么写代码是不是很好的执行了你的算法  
  最后检查语法问题Top

8 楼bitpolar(独自看天)回复于 2006-06-02 14:22:53 得分 0

不需要检索所有的用户  
   
  select   用户信息   from   用户表  
  where   用户名=输入的用户名   and   密码=输入的密码  
  然后判断检索到的记录是不是1行就行  
  前提用户名不重复Top

相关问题

关键词

得分解答快速导航

  • 帖主:ziyulin0311
  • bhwhy
  • xiaoxuanZhu
  • liangchi1018

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo