asp.net编写注册信息时验证用户名是否已经存在,我写的条件语句总是执行不了,求大神帮助,万分感谢!

下边是我写的代码,不知道是哪里出差错了,望大神帮忙!
protected void Button2_Click(object sender, EventArgs e)
{

string sqla = "select * from register where register.nickname='" + TextBox2.Text + "'";
string sql = "insert into register(nickname,mailbox,password,question,answer) values ('" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + DropDownList1.Text + "','" + TextBox6.Text + "')";
string connString = "Data Source=DELL-PC;Initial Catalog=美食菜谱网站;User ID=sa;Password=931224a";
SqlConnection connection = new SqlConnection(connString);
connection.Open();
SqlCommand cmda = new SqlCommand(sqla, connection);
SqlDataReader dr = cmda.ExecuteReader();
try
{
if (!dr.Read()&&CheckBox1.Checked)
{
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.Parameters.Clear();
Response.Write("<script language='JavaScript'>");
Response.Write("alert('注册已经成功!')");
Response.Write("</script>");
TextBox2.Text = "";
TextBox3.Text = "";
TextBox4.Text = "";
TextBox5.Text = "";
DropDownList1.Text = "";
TextBox6.Text = "";

}
else if (dr.Read())
{

Response.Write("<script language='JavaScript'>");
Response.Write("alert('此会员名已存在!请重新输入一个!')");
Response.Write("</script>");

}
else if (!CheckBox1.Checked&& !dr.Read())
{

Response.Write("<script language='JavaScript'>");
Response.Write("alert('请同意美食每刻的使用协议!')");
Response.Write("</script>");
}

}
finally
{
dr.Close();
connection.Close();
// connection.Dispose();
}
}

}

把错误信息贴出来呀追问

没有显示错误信息,就是我在填写注册信息后,点击注册按钮,会提示我注册成功,但是注册信息并没有存入数据库里

追答

看到了,你的sql语句并没有执行。
SqlCommand cmd = new SqlCommand(sql, connection);

cmd.ExecuteNonQuery(); //执行SQL命令

追问

谢谢,你太厉害了,你解决了我这个问题,我想再问一个问题,当我输入的注册信息里的用户名已经在数据库中存在时,怎么没有提醒我用户名已经存在了呢?麻烦你了,万分感谢!

追答

优先级问题。如下修改:

if(dr.Read()){//如果用户名已存在
//do something
}else if(!CheckBox1.Checked&& !dr.Read()//用户名不存在但是未同意协议
//do something
)else{//用户名不存在且已同意协议
//do something
}

温馨提示:内容为网友见解,仅供参考
无其他回答

在asp.net中通过Ajax判断注册的用户名是否存在,并且是不用通过跳转页面...
function judgeName() { .get("01-getUserName.ashx?name=" + name+ "&_=" + Math.random(), function (tb) { if(tb==1){ \/\/用户名存在或不存在 给lable赋值就行了 }else{ } } } 在01-getUserName.ashx 页面来接收参数及判断 ajax就是不用跳转的 ...

ASP.NET做注册页面的时候怎么判断注册用户名是否重复?
需要查询数据库,然后根据数据库的返回项进行判断~\/\/...建立Sqlconnection 略string sql = "select * from Users where UserName='" + UserName + "'";SqlDataReader dr = conn.ExecuteReader(sql);while (dr.Read()){ \/\/如果返回结果的话,说明用户名重复Response.Write("...

我用ASP.NET做的注册模块的例子怎么老是不成功,添入注册信息老是提示...
数据库名称,表名称,字段名称,几乎全是关键字!!!冲突得不能再冲突了。不说了,全部加上[]吧 另外改下这段代码:catch { Label8.Text = "注册失败,请重新注册!";} 改成:catch(Exception ex){ Label8.Text = ex.ToString();} 这样就能知道错误了 ...

asp.net中怎样用自定义验证控件验证注册时用户名已存在啊?
自定义控件不是允许你自己编写验证方法吗,你在这个方法里面写个搜索查询数据库的代码段,看看数据库中是不是已经有人用了这个名字不就行了吗

asp.net中怎样显示注册成功页面 失败则提示错误消息
在注册页面添加2个textbox,一个写用户名,一个写密码,将用户名和密码插入到数据库的用户表中,如果插入成功就是注册成功。往往是执行SQL语句,返回影响的记录行数,也就是说成功就返回int类型的1,失败就返回int类型的0.所以步骤是:1.前台布局,添加2个初始值为空的Label:Label1、Label2,2个text...

ASP.NET中验证用户名是否重复的按钮出问题,高手帮一下 谢谢啦_百度知 ...
所有的TEXTBOX控件?你的页面上不是只有一个按钮、两个LABEL(一个表示已占用,一个表示可以用,初始状态隐藏)吗?还有你是不是对TEXTBOX进行了验证

asp.net如何验证数据库里是否存在用户名和密码,如果有登录,如果没有弹...
在登录按钮中写这个事件 protected void loginbtn_Click(object sender, EventArgs e){ string UserName = txtUserName.Text.Trim();string Password = txtUserPwd.Text.Trim();SqlConnection conn = new SqlConnection();conn.ConnectionString =@"server=服务器名;uid=实例名;pwd=密码;database=数据...

asp.net 例如注册页面 用户名输入后 验证控件没有提示错误 在旁边现 ...
document.getElementById("image").style.display="block"} <asp:Image ID="Image1" runat="server" Height="29px"ImageUrl="~\/images\/main.JPG" Width="28px" \/>

Asp.Net 我想每次打开请求页面时判断Session是否存在
增加一个父类.比如叫BasePage BasePage继承System.Web.UI.Page 你的页面继承BasePage.然后在BasePage中override OnLoad函数.加入判断 每个继承BasePage的页面加载时都会进去OnLoad进行检测了

asp.net程序,每次运行以后登录用户名和密码然后就报错,是怎么回事...
先分析原因。你出现这个错误是因为你没有了解ASP.NET的工作原理。ASP.Net 和php,jsp ,asp等服务器语言一样 都是为了生成可供浏览器解析的页面,而可供浏览器解析的语言只有HTML。1,如果你在aspx页面中插入一个asp:LinkButton 那么运行页面后 在浏览器中查看源代码你会发现这个标签实际被转为了一个...

相似回答