实现意图: 
    要操作的数据表无明显主键,但是要求显示时要按用户输入顺序显示.于是定义一个Index字段做为主键,由于输入时允许用户插入,要通过主键Index有序则需改变主键值,插入数据通过SqlDataAdapter.Update()更新数据库出错.
    于是定义一个自动增加的字段ID做为主键,Index字段记录用户输入顺序.显示在DataGridView中时通过Index字段排序.修改删除后更新回数据库不出错,插入一行后再做修改更新回数据库时老出错,是什么原因呀?
    帮我想想实现思路吧.(我是这样做的:将dataset中的表与DataGridView绑定,用户插入数据后重新调整Index字段的值,使其从0到n,再回写数据库。多作几步操作(如先插入再修改,或是先删除再修改再插入)更新回数据库老是出错。)

解决方案 »

  1.   

    你是不是把SqlDataAdapter实例了N次,比如说前台插入一次,修改一次,删除一次?
      

  2.   

    如果严格按照时间先后排列的话,可以加一个自动时间戳否则,加一个index列,每加入一条纪录,先看里面有多少条纪录,则index就是多少,而插入或者删除纪录的时候必须使用触发器,插入的时候要从最后面的纪录到插入位置的纪录的index都加1,然后插入这条纪录,删除则减1。