sql语句是这样的insert into barin select * from temp.
temp表中的所有字段barin表中都有且完全一样。我用的数据库是access,在access中执行完全正确。在我的程序中执行却有这样两种错误的提示。
第一种,查询的数目与目标字段中的数目不同;
第二种,标准表达式中数据类型不匹配。
这是在三层中的客户端发生的错误。急啊!!!!!!!!!!!!!

解决方案 »

  1.   

    再检查一下吧,我前段时间经常遇到这样的问题,反反复复找不到原因,但发现自己的SQL语句在组合时,确实有各种问题,包括:
     1。执行时,临时表已经被删除了
     2。发现生成组合SQL语句时,变量中的字符出现异常等,
    不过ACCESS有时是容易发疯
      

  2.   

    估计是两个表的字段顺序不对应!应使用如下格式语句:
    insert into barin select 字段x1, 字段x2, 字段x3, ...字段xN from temp其中字段的顺序是表barin表中字段的顺序
      

  3.   

    两个表的顺序一定要一样的?
    我的两个表里的字段顺序不一样的,但在access中是不报错的。在vb中也没报错呀。delphi里这样插入一定要两个表子段顺序一样的?
    我去试试。
      

  4.   

    把表结构和 SQL语句贴出来看一看.
      

  5.   

    我要插入的是两张表 一张表barlist 是和我的临时表的结构、顺序一样的,现在这张表可以了。
    可是,还又一张表barin比我的临时表多一个字段,其他的结构和顺序都一样,却不可以。
    我在vb中这两张表都可以的阿。临时表:
    boxid text (3),jsid text(3),itemid text(6),itemname text(20),price double,quantity single,pcode text (3) ,intime datetime,workid text (3)barin表
    boxid text (3),jsid text(3),itemid text(6),itemname text(20),price double,quantity single,pcode text (3) ,intime datetime,workid text (3),delflag boolean
      

  6.   

    还又一张表barin比我的临时表多一个字段,其他的结构和顺序都一样,却不可以。
    在插入语句时把多出的字段赋一个空值或默认值,例如
    barin表中第 3 个字段是临时表中没有的,可以这样
    insert into barin select 字段x1, 字段x2, '', ...字段xN from temp
                                            ==
                                            ↑
                                           在这里根据字段的类型赋一个默认值,null也可以
      

  7.   

    现在就barin这个多了一个字段的表不行了,我插入的时候顺序都是一样的。
    insert into barin select boxid,jsid,itemid,itemname,price,quantity,pcode,intime,workid from temp
      

  8.   

    insert into barin select boxid, jsid, itemid, itemname, price, quantity, pcode, intime, workid, delflag的默认值 from temp例:
    insert into barin select boxid, jsid, itemid, itemname, price, quantity, pcode, intime, workid, false from temp
      

  9.   

    insert into barin select boxid,jsid,itemid,itemname,price,quantity,pcode,intime,workid,'' from temp我是这样写的,可是不对。
    如果我就给那个多的字段 一个false值,应该怎么写呢。谢谢了!1
      

  10.   

    出现错误:insert into (false)语句中没有目的字段名
    我是这么写的:insert into barin select boxid,jsid,itemid,itemname,price,quantity,pcode,intime,false,workid from temp