这句SQL哪错了,请高人指点

dek 2006-03-19 11:13:09
RT

insert 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
...全文
135 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
veryhappy 2006-03-20
  • 打赏
  • 举报
回复
insert into test (xl,jz,tqc51) (select nctbjck.xl,nctbjck.jz,tq200603.tqc51 from nctbjck,tq200603 where nctbjck.jz=tq200603.jz)
kalaco 2006-03-20
  • 打赏
  • 举报
回复
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
j_lei407 2006-03-20
  • 打赏
  • 举报
回复
象ThreadSharp(ThreadSharp V2006) 说的那样你先跟踪一下,看看到底哪里错误?如果是sql语句错误你在监视看看执行之后那个sql语句变量到底是什么再在查询分析器里执行一下看看就知道了
san12655874 2006-03-20
  • 打赏
  • 举报
回复
你应该把语句写到SQL上运行,看到底是什么错误,如果通过,那就没什么问题
達魔 2006-03-20
  • 打赏
  • 举报
回复
就SQL语句本身而言
insert into test (xl,jz,tqc51) select nctbjck.xl,nctbjck.jz,tq200603.tqc51 from nctbjck,tq200603 where nctbjck.jz=tq200603.jz
没有什么错误,
你要跟踪把错觉信息报上来,大家才知道是什么问题,
估计问题不是出在你的SQL语句上,因为你的写法属于标准SQL,应该没问题,各数据软件都是兼容的……
李洪喜 2006-03-20
  • 打赏
  • 举报
回复
参考不一致啊。如果再遇到 sql 中这样的问题,解决你在程序中把你的语句显示出来,复制到sql 分析器中执行一下,就会发现什么错误了。
BeRush 2006-03-19
  • 打赏
  • 举报
回复
insert into test (xl,jz,tqc51) select nctbjck.xl,nctbjck.jz,tq200603.tqc51 from nctbjck,tq200603 where nctbjck.jz=tq200603.jz

中不是少了一个values吗??

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧