9楼的朋友.sele ALLTRIM(hc) from cx 无论在vfp6,与vfp9中查询结果首条记录都不是空记录.所以不存在后续的“403318065”也无法存储,现在就想知道同样的查询语句vfp6与vfp9查询得到的结果不一样,是不是vfp6与vfp9存在不兼容或差别的地方.问题困扰在这?为什么同一条语句,vfp6与vfp9运行得到的结果不一样.(即查询结果)
以下是引用cy36245253在2014-5-7 08:53:15的发言:
再追问一下,我就知道到同样的语句,为什么vfp6与vfp9执行的查询结果不一样.是不是因为vfp6与vfp9工作机理不一致.纳闷在这儿.
如果同样的语句在 VFP 6.0 下能正确执行,则说明二者的工作机理是不一样的。其实,在测试时我也注意到了该问题。因为 cx.dbf 的第一条记录是“403318065”,后面的 2 条记录才是空记录。按照“首记录决定字段长度”的原则,应该不存在问题。但是,别忘了,在 VFP 9.0 下运行 SQL 语句时,记录的执行顺序并不一定是按照记录号的,由于内部的某些“优化”而重排了顺序。这一点需要特别注意。在阅读相关资料时,我记得有一段文字特别提到:在执行 SQL 查询时,处理记录的顺序是随机的。再追问一下,我就知道到同样的语句,为什么vfp6与vfp9执行的查询结果不一样.是不是因为vfp6与vfp9工作机理不一致.纳闷在这儿.