CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

连接数据库判断用户是否存在??

楼主cheyo(我爱这世界!)2003-10-02 21:52:23 在 .NET技术 / C# 提问

下面的程序我已经把在检测到用户名已经存在时return了,为什么程序还会去增加记录.而我的表,id是主键,所以现在,用户名已经存在,去注册,会有错误提示:  
  id是主键是****   .....  
      那段检测用户名是否已经存在的程序,是不是错了.如何改?   3x  
   
   
  public   void   AddUser(object   sender,   System.EventArgs   e)  
        {  
                  if(cus_passwd2.Text   !=   cus_passwd.Text)  
                {  
                Message.Text   =   "<font   color=red>您两次输入的密码不一样!</font>";  
                cus_passwd2.Text   =   "";  
                cus_passwd.Text   =   "";  
                return   ;      
                }  
          //下面是连接数据库  
          string   strConnection   =   "server=CHEYO;";  
          strConnection   +=   "database=bookstore;uid=sa;password=vv7g51;";  
          string   strSQL=   null;  
           
          SqlConnection   objConnection   =   new   SqlConnection(strConnection);  
       
          //   ===========   验证用户名是否已经存在:   ==========  
        strSQL="select   id   from   customer;";  
        SqlCommand   objCmd   =   new   SqlCommand(strSQL,objConnection);  
        objConnection.Open();  
        SqlDataReader   objReader   =   objCmd.ExecuteReader();  
   
        if   (objReader.Read()   &&   cus_id.Text.Trim()   ==   objReader["id"].ToString().Trim())  
    {   Message.Text   =   "用户名已经存在!";return;}  
   
          objReader.Close();  
        //   ==========     增加用户:     =============     //  
        strSQL="insert   into   customer(id,passwd,name,email,phone,idcard,address,postcode,RegIP)   ";  
  strSQL   +=   "values   ('"+cus_id.Text+"',"  
  +"'"+cus_passwd.Text+"','"+cus_name.Text+"','"+cus_email.Text+"','"+cus_phone.Text+"',"  
  +"'"+cus_idcard.Text+"','"+cus_address.Text+"','"+cus_postcode.Text+"',"  
  +"'"+Request.UserHostAddress+"')";  
   
        SqlCommand   objCmd2   =   new   SqlCommand(strSQL,objConnection);  
   
        objCmd2.ExecuteNonQuery();  
         
        objConnection.Close();  
     
         
        Message.Text   =   "<font   color=red>注册成功!</font>";  
        Response.Redirect("regok.html");  
         
        //   ==========     end     =============     //  
   
               
        } 问题点数:30、回复次数:6Top

1 楼shixueli(我们总是不能随心所欲)回复于 2003-10-02 21:55:51 得分 25

if   (objReader.Read()   &&   cus_id.Text.Trim()   ==   objReader["id"].ToString().Trim())  
    {   Message.Text   =   "用户名已经存在!";return;}  
   
  -->  
  while(objReader.Read())Top

2 楼CMIC(大象)回复于 2003-10-02 22:04:14 得分 5

//   ===========   验证用户名是否已经存在:   ==========  
        strSQL="select   id   from   customer;";  
        SqlCommand   objCmd   =   new   SqlCommand(strSQL,objConnection);  
        objConnection.Open();  
        SqlDataReader   objReader   =   objCmd.ExecuteReader();  
   
        if   (objReader.Read()   &&   cus_id.Text.Trim()   ==   objReader["id"].ToString().Trim())  
    {   Message.Text   =   "用户名已经存在!";return;}  
   
          objReader.Close();  
  //改成下面的试试  
  strSQL="select   id   from   customer   where   id='"   &   cus_id.Text.Trim()   &   "'";  
        SqlCommand   objCmd   =   new   SqlCommand(strSQL,objConnection);  
        objConnection.Open();  
        SqlDataReader   objReader   =   objCmd.ExecuteReader();  
  if(!objReader.Read())  
  {  
    Message.Text   =   "用户名已经存在!";  
    return;  
  }  
  还有字段不要用"ID"这种关键字。  
  Top

3 楼cheyo(我爱这世界!)回复于 2003-10-02 22:05:07 得分 0

高手!  
   
  可以了.  
   
  可以跟我说一下为什么用if就不行吗?  
  好像也解释得通?     hehe~Top

4 楼cheyo(我爱这世界!)回复于 2003-10-02 22:10:07 得分 0

回   CMIC(大象):     一样不行.        
  关于ID字段,谢谢你的提醒!Top

5 楼shixueli(我们总是不能随心所欲)回复于 2003-10-02 22:19:31 得分 0

to   cheyo(cheyo):  
  很简单,因为SqlDataReader的Read方法是调用一次指向下一条数据,如果没有数据会返回false,如果用if,你只是读到了一条数据!  
   
  这个方法需要你赶着它往前跑Top

6 楼cheyo(我爱这世界!)回复于 2003-10-02 22:24:11 得分 0

对哦,这样只判断一次.晕了  
   
  谢谢,谢谢!Top

相关问题

  • 数据库连接判断(100分)
  • 数据库连接: 如何快速判断数据库连接是否成功?
  • 多用户登陆连接数据库
  • 如何判断一个数据库是系统的数据库或者用户的数据库???
  • 如何判断ADO方式下SQLSERVER数据库连接成功?
  • 如何判断数据库连接的有效性?
  • 怎样判断是否已经建立数据库连接
  • 如何判断数据库是否正常连接
  • 怎样判断数据库是否连接上?
  • 如何判断数据库连接失败?

关键词

  • 用户
  • objreader
  • cus
  • objconnection
  • objcmd
  • 存在
  • strsql
  • 用户名
  • trim
  • passwd

得分解答快速导航

  • 帖主:cheyo
  • shixueli
  • CMIC

相关链接

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

广告也精彩

反馈

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