现有一个表,有了其DataTable dt, DataAdapter da对象。
已使用dt.ImportRow(Row)  插入了很多条记录。新记录中可能有一些记录的主键与原表中某记录有主键重复。
要使用da.Update(dt) 将dt的更新写到数据库中去。1.如果新记录与原表中某记录的主键有冲突,则新记录不更新的原表中去。  怎么实现 ?
2.如果新记录与原表中某记录的主键有冲突,则用新记录替换原表中的记录。 怎么实现?求各大神们帮忙看看!

解决方案 »

  1.   

    Update 肯定不行,这需要你自己去控制了,要么不允许出现重复主键,就是增加时,主键字段值唯一,比如自动编号类似的
    要么自己遍历grid,逐条的处理
      

  2.   

    设置为主键自增长,不会重复的。
    一般主键不用插入,是数据库自动生成的如果你需要插入可以先搜索一下自己输入的主键字段在数据库中的count是否大于0,如果大于0说明主键已存在,则不插入。如果想覆盖可以先删除原有记录再插入。
      

  3.   

    这个只能自己先判断主键是否存在了,楼主可以从主键这方面去解决问题,可以通过Guid来获得主键或者字段自动增长ID