问题解决了。是我写错了。 sql.Add('insert jhmxlsb select * from jhmxb where jhdh='+''''+str+'''');// 这句语法是正确的。 一开始我写成sql.Add('insert jhmxlsb select * from jhmxb where jhdh='+str);// 这句语法是正确的。 散分

解决方案 »

  1.   

    不过还有一个问题,刚刚发现的。 我设置了一个自增字段。 一经添加数据, 编号自动增加,而且把表清空后 ,自增字段不是从零开始,而是从最后的那个值开始。怎样让清空后(delete from 表名),  自增字段也从零开始解决这个问题,立即发分
      

  2.   

    具体搞不清楚了,好象是要建个队列的。
    create sequence xxx_seq start with ...;
    insert into table(id,...) values(xxx_seq.nextvl,...); 
      

  3.   

    如果你只用表,而不用队列,那就没办法了。只有重新建表了,因为自增字段的值在系统的字典中,不知如何清空。
    要不你就用队列了,不过也是要重新create才会从初值开始的。
      

  4.   

    我现在改用一个Mxbh int类型,作为主键。 怎样通过sql.语句取得最大值select max(maxb)+1 as Maxbh
    from 表
    这种方法行不
      

  5.   

    用TRUNCATE 进行删除应该就可以了
    TRUNCATE table tablename
      

  6.   

    结束, 问题解决了。 谢谢各位to  njbudong(午夜游民) 你说的对,需要有初始值。 如果没有初始值。
    就会出错 (类型不对),不过我用了一种方法。 就是先检测表是不是为空, 如果为空默认值为1,第一条记录为1,以后。就取出最大值+1 做为编号.