我要将一字符串插入到数据库,但之前要进行判断是否和数据库中的数据重复,以下是我的代码:
  protected void submit_Click(object sender, EventArgs e)
    {
       string code;
       code = Convert.ToString(this.TextBox1.Text);
       System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"'", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
       code = regex.Replace(code, " "); 
               SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=CodeRead;uid=sa;pwd= ");
        conn.Open();
        string sql = "select Count(1) from code where numble=('" + code + "')";
        SqlCommand cmd1 = new SqlCommand(sql, conn);
        int count = (int)cmd1.ExecuteScalar();
        if (count > 1)
        
            Response.Write("数据重复!");
            
        
        else
        {
            SqlCommand cmd = new SqlCommand("insert into code(numble) values('" + code + "')", conn);
            
            cmd.ExecuteNonQuery();
            if (cmd.ExecuteNonQuery() > 0)
                Response.Write(code + "数据导入成功!");
            else
                Response.Write("数据导入错误!");
            
            conn.Close();        }当插入“22”小女接触不久,求高手帮忙!!深表感激!!

解决方案 »

  1.   


     if (count > 1)//大于1,也就是2个时候,才会数据重复
         Response.Write("数据重复!");
      

  2.   

    string sql = "select Count(1) from code where numble=('" + code + "')";

     if (count > 1)
    有问题
      

  3.   

    string code= Convert.ToString(this.TextBox1.Text);
            SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=CodeRead;uid=sa;pwd= ");
            conn.Open();
            string sql = "select * from code where numble='" + code.Trim() + "'";
            SqlCommand cmd1 = new SqlCommand(sql, conn);
            int count = (int)cmd1.ExecuteScalar();
            if (count > 1)
                Response.Write("数据重复!");
       break;
            else
            {
                SqlCommand cmd = new SqlCommand("insert into code(numble) values('" + code + "')", conn);
                
                cmd.ExecuteNonQuery();
                if (cmd.ExecuteNonQuery() > 0)
                    Response.Write(code + "数据导入成功!");
                else
                    Response.Write("数据导入错误!");
                
                conn.Close();
            }
      

  4.   

    count >=1
    而且要注意下连接的关闭
      

  5.   

    if (count > 0)
            
                Response.Write("数据重复!");
      

  6.   

    IF((select Count(1) from code where numble=@numble )<1)
    BEGIN
    insert into code(numble) values(@numble)
    END
      

  7.   

    抛出异常影响性能难道不知道么?晕死。。
    string sql = "select Count(*) from code where numble=('" + code + "')";
    我想这样进行查询的时候应该可以查询出来是否有值。
      

  8.   

    如果导入excel还是用事务把。
      

  9.   

    判断条件写错了,if条件应该是(count > 0)
      

  10.   

    发现把判断重复语句删掉,插入一组字符串还是会添加两个到数据库,好像是提交时触发了两次submit_Click事件,求帮助怎么解决?
      

  11.   

    发现把判断重复语句删掉,插入一组字符串还是会添加两个到数据库,好像是提交时触发了两次submit_Click事件,求帮助怎么解决?
      

  12.   

    应该 if (count == 1)  或者if (count > 0)
      

  13.   

    這是我的代碼,你參考下DECLARE
       num   NUMBER;
    BEGIN
       SELECT COUNT (*)
         INTO num
         FROM glb_rpt_uph
        WHERE start_time = TO_DATE ('2013-6-13 15:30:00', 'yyyy-MM-dd hh24:mi:ss');
              /*在表glb_rpt_uph中查詢條件滿足
                 start_time = TO_DATE ('2013-6-13 15:30:00', 'yyyy-MM-dd hh24:mi:ss')
                的數據數量,存入num中*/
       IF num <> 0  
            /*判斷num若是數量不為0,則說明存在,只更新數據,不插入*/
       THEN
          UPDATE glb_rpt_uph
             SET model = 'AK73-BTE-EA1',
                 shift = 'd',
                 end_time =
                           TO_DATE ('2013-6-13 16:30:00', 'yyyy-MM-dd hh24:mi:ss'),
                 input = 0,
                 output = 0,
                 fpy = 1,
                 uph = 107,
                 upph = 4
           WHERE start_time =
                           TO_DATE ('2013-6-13 15:30:00', 'yyyy-MM-dd hh24:mi:ss');
       ELSE 
           /*不存在,則插入*/
          INSERT INTO glb_rpt_uph
               VALUES ('AK73-BTE-EA1', 'd',
                       TO_DATE ('2013-6-13 15:30:00', 'yyyy-MM-dd hh24:mi:ss'),
                       TO_DATE ('2013-6-13 16:30:00', 'yyyy-MM-dd hh24:mi:ss'),
                       0, 0, 1, 107, 4);
       END IF;
    END;
      

  14.   


    cw(count==0?"不存在,可以insert":"有了");