相同的SQL语句,为什么在查询分析器与VB程序中执行效果不一样? 50

语句为一条更新值语句如下:updateaseta.FOrderID=u2.FOrderID+a.FEntryID*100000fromt_BomEntryajoin"_&... 语句为一条更新值语句如下:
update a set a.FOrderID =u2.FOrderID + a.FEntryID*100000 from t_BomEntry a join" _
& " (select FLevel,FItemID,FOrderID from t_BomEntry where FLevel=1) u2 on u2.FItemID=a.FPartent and a.FLevel=2
意思为把层为1的FOrderID取出来,在层级为2的值与层级1相同时,在层级1的FOrderID+层级2的流水号*100000
展开
 我来答
gralei
2013-11-18 · TA获得超过128个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:73.1万
展开全部
通过SQL跟踪器看看,程序送到SQL的语句就知道了。
追问
也不是说都不正确,是部分结果更新不正确,跟踪不出效果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hnhygkx1987
2013-11-18 · TA获得超过209个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:142万
展开全部
不是这么写的吧!楼主,你要用case when 做判断才行吧!
更多追问追答
追问
我也是Case when 来写的,结果也一样,所以我就单独来写了,结果还是部分正确,部分结果错误。
追答
你看看查询分析器和VB里面打印出的SQL 是否是一样的,另外确认数据库字段的业务逻辑是否正确!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江鱼11
2013-11-18 · 超过15用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:40.6万
展开全部
*100000??
看下计算数据是不是太大了
更多追问追答
追问
不会的,我的流水号最多也是50,所以最大也是50*10万=500万,加层级1最大为6亿,所以最大数为6.05亿没问题。
追答
那你是数据少了还是结果错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式