建议你看一下这个表和其他表有没有外键约束,或者自身有触发器(sql server有,不知道interbase有没有);其次跟踪一下到i等于几的时候出错,研究一下记录是不是有问题,比如这个表没有主键,而表里同时存在2条完全一样的数据,其他办法我再想,你先试试

解决方案 »

  1.   

    将MoveNext改为MoveFirst吧,每次都删除第一条记录即可。
    删除一条记录然后找下一条记录,因为记录已经删除当然找不到下一条记录。
      

  2.   

    还是这个问题,原本我重新建了一个表,就可以了,但是把这个数据文件(.gdb)考到其他机器上,又不行了,是不是数据库文件不能单纯的拷贝呀?要导出什么的?
    对于前面几位的回答非常感谢,可能movenext()有问题,但是最重要的是在movenext的前一句,刚删第一条记录,也就是delete时就已经异常了,根本还没运行到movenext呢,这个问题好奇怪,请大家帮忙想想吧。