用alert弹出cmd.ExecuteScalar().ToString()  你看看是什么,可能是null 可能是&n什么p的

解决方案 »

  1.   

    sql逻辑错误select count (*) from user_vip where name = '" + this.user_name.Text + "'"改成
    select * from user_vip where name = '" + this.user_name.Text + "'"
      

  2.   

    因为你以前的sql语句取出来的是肯定有一条记录的( Count(*)  )你下面再判断记录个数是否不等于0 肯定行不通了你加上断点看看,那个返回表的记录肯定始终是1
      

  3.   

    改成SELECT * 不就变成查询全部的了嘛
    我想判断有没有相同的呀
    只要有1个相同就可以排除了
    那怎么才能让他不始终为1呢?
      

  4.   

    select name where name = '" + this.user_name.Text + "'" group by name
    判断是否为null
    看看这个行不
      

  5.   

    改成这样看看:if ((int)cmd.ExecuteScalar()>0)
    {
    orgs.IsValid=false;
                                                  return;
    }
      

  6.   

    问题出在这句: select count (*) from user_vip where name =......
    这里的"name"是系统保留字,你最好换个字段名,如username
    还有一点建议:  if (cmd.ExecuteScalar().ToString() != "0") 改成 if (cmd.ExecuteScalar() != 0),这样效率高点,没有必要ToString()了.
      

  7.   

    select count (*) from user_vip where name = ‘111111’我把这句话打字查询分析器里
    出来的结果是4(我注册了4个叫111111的用户)
    说明我SQL语句是没错的咯?
    那问题在哪?
      

  8.   

    这样试试 DataSet ds = new DataSet();
    string sqlstring = "select * from user_vip where [name] = '" + this.user_name.Text + "'";
    try
    {
    connection.Open();
    OleDbDataAdapter command = new OleDbDataAdapter(SQLString,connection);
    command.Fill(ds,"ds");
    }
    catch(OleDbException ex)
    {
    throw new Exception(ex.Message);
    }if (ds.Tables[0].Rows.Count != "0")
    .......
      

  9.   


    是在你是在javascript里写的
    不可以的?
      

  10.   

    orgs.IsValid=false;
    这句没有问题吧?
      

  11.   

    <script language="javascript">
            <!--
               function is_user_name(sender,orgs)
               {
                  orgs.IsValid=true;
                  
                  var chars="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-";
                  var e=document.getElementById("user_name");
                  var v=e.value;
              
      var totallength=0;
      for (var i=0;i<v.length;i++)
      {
    var intCode=v.charCodeAt(i);
     if (intCode>=0&&intCode<=128)
     {
    totallength=totallength+1;
     }
     else
     {
    totallength=totallength+3;
     }
      }
      
                  if(totallength<6||totallength>12)
                  {
                     orgs.IsValid=false;
                     return;
                  }
                  
                  for(var i=0;i<v.length;i++)
                  {
                     var c=v.charCodeAt(i);
                     if(c>128)
                     {
                        continue;
                     }
                     else
                     {
                       var cc=v.charAt(i).toUpperCase();
                       if(chars.indexOf(cc)==-1)
                       {
                          orgs.IsValid=false;
                          break;
                       }else
                       {
                         continue;
                       }
                     }
                  }
     SqlCommand cmd = new SqlCommand("select count(*) from user_vip where name='"+user_name.Text+"'",conn);
     conn.Open();
         if (Convert.ToInt32(cmd.ExecuteScalar().ToString())>0)
    {
    orgs.IsValid=false;
    return;
    }
    }
      

  12.   

    if (cmd.ExecuteScalar().ToString() != "0")
    改成
    if (cmd.ExecuteScalar().ToString() == "0")
    就OK了
      

  13.   

    晕,在JS中也可以用SqlCommand这些FrameWork类吗?
    那microsoft也不要开发FrameWork了。
      

  14.   

    以下是我用的,楼主参考
    #region 检查用户是否重名的ajax 方法 [AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.Read)]
    public bool Ajax_HasUser (string _UserName)
    {
    //检查用户名是否重名的 sql 语句
    string sqlstring = "select * from Tb_UsersNet where UserName = '" + _UserName + "' and UserID <>" + Session["Net_UserID"].ToString();
    try
    {
    DataSet ds = new DataSet();
    ds = DbHelperSQL.Query(sqlstring); if(ds.Tables[0].Rows.Count != 0)
    {
    return true;
    }
    else
    {
    return false;
    }
    }
    catch
    {
    return true;
    } }
    #endregion
      

  15.   

    3Q哦
    我用的是.NET
    现在我把他放在那个private void Button1_Click(object sender, System.EventArgs e)
    {
    SqlConnection conn = new SqlConnection("server=.;database=mbdz;uid=sa;pwd=");
    SqlCommand cmd = new SqlCommand("select count(*) from user_vip where name='"+user_name.Text+"'",conn);
    conn.Open();
    if (Convert.ToInt32(cmd.ExecuteScalar().ToString())!=0)
    {
    Response.Write("<script>alert('该用户名已被占用!')</script>");
    return;
    }
    里他完全不睬我,很没写一样饿
      

  16.   

    http://community.csdn.net/Expert/TopicView1.asp?id=5651440