asp.net自定义验证控件检测用户名有效性?

我自定义一个验证控件,检测注册时填写的用户名是否被 注册过,
控件:
用户名:<asp:TextBox ID="txtName" runat="server" ></asp:TextBox>
<asp:CustomValidator ID="csvCheckuser" runat="server"
ControlToValidate="txtName" ErrorMessage="该用户名已被注册!"
onservervalidate="csvCheckuser_ServerValidate">该用户名已被注册!</asp:CustomValidator>

验证代码:
protected void csvCheckuser_ServerValidate(object source, ServerValidateEventArgs args)
{
string sConnectionString = ConfigurationManager.ConnectionStrings["decoraconn"].ToString();
SqlConnection conn = new SqlConnection(sConnectionString);
conn.Open();
SqlCommand cmd=new SqlCommand();
cmd.Connection=conn;
cmd.CommandType=CommandType.Text;
cmd.CommandText = "select * from User where username='" + txtName.Text.ToString() + "'";
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
args.IsValid = false;
}
else
{
args.IsValid = true;
}
}

运行说User附近有语法错误,但是检查了哈,没有发现错在哪里,请大家帮我看哈
改成txtName.Text.ToString().trim()
也不得行!

第1个回答  2013-05-26
貌似User不能用,你换个别的表名就可以了
相似回答