请问你的数据库中对应的表有没有主键,没有主键的表是无法使用MySqlCommandBuilder自动创建update语句的,不过没有主键的表倒是不影响insert,那么所有DataTable中的内容都认为是新增的而不是更新的了。如果实在不想建主键(懒人的做法),那就自己写更新语句。

解决方案 »

  1.   

    COMMANDBUILDER更新数据列表必须得是有主键地数据表,要不没办法搞地
      

  2.   

    数据库中的对应表有主键,每次UPDATE的时候是将datatable中的记录追加到原表中,我想要UPDATE的时候数据表内容只为我datatable中的内容,表中原有记录全部不要,我应该如何操作呢?
      

  3.   


    那就请问,你的主键是否会冲突,如果一行原来的记录不是更新而是插入到数据库中,主键就会重复,那么数据库里都不可能让你插入,除非你是使用了自增长主键,而DataTable的那个主键列又不是数据库中的值。建议你更新数据库之前,查看下DataTable中各行的修改状态,如果显示为新增的行,则始终只会执行插入语句,而不是更新语句。