下面的代码是网站起始页,但是每次都是说“用户名存在,请选择其它用户名”,也就是每次都是跳转到最后了,请问这是怎么个情况呢?
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
      try
        {
          //创建数据库连接
            SqlConnection con = db.CreateConnection();
          //打开数据库
            con.Open();
          //建立插入的SQL语句
            string strsql = "insert into login(uname, upass, email, phone, addr) values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "')";
            //创建SqlCommand命令控件
            SqlCommand cmd = new SqlCommand(strsql, con);
            //执行SqlCommand控件,不返回任何数据
            cmd.ExecuteNonQuery();
          //关闭数据库连接
            con.Close();
          //跳转到指定页面
            Response.Redirect("login.aspx");
       }
          //错误处理
        catch
        {
            Response.Write("<script>alert('用户名存在,请选择其它用户名')</script>");
        }
    }
   
}

解决方案 »

  1.   

    你直接输出strsql 的在数据库操作试下看看,我估计insert 会执行错误,譬如违反了唯一的约束、sql语法错误等··
      

  2.   

    肯定是你的try块里的语句出错, 出现异常了 ,才跳转到catch 块里执行 
      把你的 catch块  的语句注释起来再运行  看到底是哪句报错
      

  3.   

    肯定是你的try块里的语句出错, 出现异常了 ,才跳转到catch 块里执行 
      把你的 catch块  的语句注释起来再运行  看到底是哪句报错
      

  4.   

    有点乱了,
    我建议 你先在数据库里用脚本添加数据,配合你的表的字段添加。看能不能成功
    然后在在代码段里添加,我感觉你的insert出了问题
      

  5.   

    你先使用数据库脚本添加数据, 估计是你的insert出了问题
      

  6.   

    把try,catch先去掉看出什么错误不就清楚了!而且你上面写的东西逻辑有问题!
      

  7.   

    调试的时候,把你得到的strsql直接放到数据库里看看,何况catch也不能这么写,你怎么就知道这是用户存在了,无语
      

  8.   

    最主要的是catch不是这么用的...
    用户重复这种提示是正常的信息,应该在用户注册前判断用户是否存在 string strsql = "insert into login(uname, upass, email, phone, addr) values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "')";
    这里打个断掉调试,把strsql 取出来直接放到数据库里看看是什么情况