RTinsert into test (xl,jz,tqc51) select  nctbjck.xl,nctbjck.jz,tq200603.tqc51 from nctbjck,tq200603 where nctbjck.jz=tq200603.jz 我想将nctbjck和tq200603中检索出来的数据插入到test表中,在VFP中测试这条词句可以执行,
而在c#中就报错,提示说语句错误,会不会是C#的问题,而执行select * from test,delete from test,insert into test(jz,tqc51) values ("011",50)
这样的语句C#就不报错,可以正常运行,
我用的是C# 2005 Team版,用ODBC连VFP的表,VFPODBC版本6.0

解决方案 »

  1.   

    insert into test (xl,jz,tqc51) select  nctbjck.xl,nctbjck.jz,tq200603.tqc51 from nctbjck,tq200603 where nctbjck.jz=tq200603.jz 中不是少了一个values吗??
      

  2.   

    insert into test (xl,jz,tqc51) (select  nctbjck.xl,nctbjck.jz,tq200603.tqc51 from nctbjck,tq200603 where nctbjck.jz=tq200603.jz)
      

  3.   

    参考不一致啊。如果再遇到 sql 中这样的问题,解决你在程序中把你的语句显示出来,复制到sql 分析器中执行一下,就会发现什么错误了。
      

  4.   

    就SQL语句本身而言
    insert into test (xl,jz,tqc51) select  nctbjck.xl,nctbjck.jz,tq200603.tqc51 from nctbjck,tq200603 where nctbjck.jz=tq200603.jz 
    没有什么错误,
    你要跟踪把错觉信息报上来,大家才知道是什么问题,
    估计问题不是出在你的SQL语句上,因为你的写法属于标准SQL,应该没问题,各数据软件都是兼容的……
      

  5.   

    你应该把语句写到SQL上运行,看到底是什么错误,如果通过,那就没什么问题
      

  6.   

    象ThreadSharp(ThreadSharp V2006) 说的那样你先跟踪一下,看看到底哪里错误?如果是sql语句错误你在监视看看执行之后那个sql语句变量到底是什么再在查询分析器里执行一下看看就知道了
      

  7.   

    insert into test (xl,jz,tqc51) select  nctbjck.xl,nctbjck.jz,tq200603.tqc51 from nctbjck inner join tq200603 on nctbjck.jz=tq200603.jz 应该联表应该用inner join