如何在提交一条记录时,将他与数据库每条记录比较,验证其重复性,比如比较ID,若有重复则不插入数据库

解决方案 »

  1.   

    IF NOT EXIST (SELECT * FROM table1 WHERE id=5)
    BEGIN
      INSERT INTO table1 VALUES (...)
    END
      

  2.   

    select count(*) from Table where id=XXX如:记录不为零 则有重复
      

  3.   

    如果重复时需要更新记录,则可这样写:IF NOT EXIST (SELECT * FROM table1 WHERE id=5)
    BEGIN
      INSERT INTO table1 VALUES (...)
    END
    ESLE
    BEGIN
      UPDATE table1 SET ... WHERE id=5
    END
      

  4.   

    那你在插入之前验证一下不就行了.
    要插入的ID比如是20;
    string strSQL = "select ID From table where ID=20";
    如果有记录则不插入,没有查询没记录.就插入数据.
    不知道你是不是这个意思!!
      

  5.   

    int    id   = 5;
    int    age  = 28;
    string name = "SKYIV";OleDbCommand cmd = new OleDbCommand();
    cmd.CommandText  = string.Format
    (
      @"
        IF NOT EXIST (SELECT * FROM table1 WHERE id={0})
        BEGIN
          INSERT INTO table1 (age,name) VALUES ({1},'{2}')
        END
        ESLE
        BEGIN
          UPDATE table1 SET age={1},name='{2}' WHERE id={0}
        END
      ",
      id, age, name
    );
    cmd.ExecuteNonQuery();
      

  6.   

    比如执行string strSQL = "select ID From table where ID=20";
    怎么样才能得到查到几条记录阿??比如得到一个count 计数值
      

  7.   

    cmd.CommandText = "select COUNT(*) From table where ID=20";
    int n = (int)(cmd.ExecuteScalar());
    if (n == 0)
    {
      // INSERT INTO table
    }