我想用一个自定义控件在注册ID的时候检查是否有同名用户。
奇怪的是总是能插入(我在建立数据库表的时候也是设置了主键的),调试了一下,发现count的值没问题,和数据库里的相关记录数一致,这个控件也能报错,但是并没有阻止数据的提交。这个是控件的后台代码:
    protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
    {
        SqlConnection con = DB_UserInfo.CreateConnection();
        con.Open();//打开数据库        string pID=args.Value;//获取文本框中的用户名
        SqlCommand cmd = new SqlCommand("select Count(*) from UserInfo where pID='" + pID + "'", con);
        int count = Convert.ToInt32(cmd.ExecuteScalar());
        if (count > 0)
        {
            args.IsValid = false;
        }
        else
        {
            args.IsValid = true;
        }        con.Close();
    }