用 ado的query插入数据,要是数据库中的主键值相同,那就不插入数据了。
(也就是说,数据库中有相同的主键值,就不录入数据了).请给个例子。

解决方案 »

  1.   

    sql语句搜索数据库中是否有与要插入的数据的主键相同的记录,有,不插入,没有,插入
      

  2.   

    if (select count(*) from table where zhujian='yourzhujian')=0 then
    adoquery1.sql.add('insert into............')
    else
    do your things;
    end;
    zhujian为你的主键字段
      

  3.   

    将表中的关键字段设唯一性索引,那么在插入同值的时候就会出错,你只要把插入数据的SQL语句写在TRY中,将提示信息写在EXCEPT中就行了,如:SQL.ADD('insert into 表(字段1,定段2....) values (值1,值2,...)');
    try
      ExecSQL;
    except
      Application.messagebox('出错','提示',MB_OK+MB_IconSTOP);
    end;
      

  4.   

    事务处理 批提交 
    不成功 数据回滚
    sdoconnection.BeginTrans
    try
    ....
    connection.CommitTrans;
    except
    connection.RollbackTrans;
    MessageDlg('保存数据失败, 数据共享冲突!', mtError, [mbOK], 0);
    Close;
    end;
      

  5.   

    支持hnhb(不死鸟)和 lufancy(同志) !
      

  6.   

    先用select语句查询该记录是否已经存在,如果ADOQuery1.RecordCount=0,则用insert语句插入该记录,否则退出