你 判断是否存在的时候应当使用select 
Response.Write("<script>alert('恭喜你,注册成功!');location='Web_Default.aspx'</script>");

解决方案 »

  1.   

    SqlDataReader。该示例读取全部数据,并将这些数据写到控制台窗口。随后此代码关闭.
    所以:
    while (sqldatareader_one.Read())//一直为false,不会执行while insert 语句改为用comand执行
      

  2.   


    验证sqldatareader_one["i_name"]== Request.Form["name"])时``应该试用select语句,这时使用sqldatareade执行
      

  3.   

    改过,自己试下!using System; 
    using System.Data; 
    using System.Data.SqlClient; 
    using System.Text; 
    using System.Text.RegularExpressions; 
    using System.Web; 
    using System.Net; 
    public partial class Web_Default : System.Web.UI.Page 

    protected void Page_Load(object sender, EventArgs e) 

    string strconnection = "Server=127.0.0.1;uid=sa;password=wxj;database=ztx;"; 
    string strsql;
    SqlConnection cnn;
    SqlDataReader dataR;
    SqlCommand cmd; cnn = new SqlConnection(strconnection); 
    cnn.Open();  strsql="SELECT i_name FROM test WHERE i_name='"+Request.Form["name"].ToString()+"'";

    cmd= new SqlCommand(strsql,cnn); 
    dataR= cmd.ExecuteReader();  if (dataR.Read()) 

     
    Response.Write("你注册的用户名已经被别人注册了!"); 
    }
    else
    {
    strsql="insert into test(i_name,i_pswd)values"+"('"+Request.Form["name"].ToString()+"','"+Request.Form["password"].ToString()+"')";
    cmd=new SqlCommand(strsql,cnn);
    try
    {
    cmd.ExecuteNonQuery(); 
    Response.Write("恭喜你,注册成功!"); 
    }
    catch (SqlException ex)
    {
    cnn.Closed();
    Response.Write("插入出错:"+ex.Message);
    }

    }
    dataR.Closed();
    cmd.Dispose();
    cnn.Closed();

    }