为什么测试时候和编译成EXE文件后显示的结果不一样呢

farandfaraway 2005-08-22 10:05:08
我是VFP6下编写的
在一个GRID1的init里我有如下代码
SELECT p.读取日期,Sum(p.销售金额) as 销售总额,SUM(p.进货单价*p.销售数量) as 销售成本,(Sum(p.销售金额)-SUM(p.进货单价*p.销售数量)) as 利润 FROM plureport p group by p.读取日期 order by p.读取日期 INTO CURSOR mDbf2
MESSAGEBOX(STR(RECCOUNT("mDbf2")))
thisform.grid1.RecordSource = ""
thisform.grid1.RecordSource = "mDbf2"
go top
thisform.grid1.refresh()
thisform.refresh()

我点击RUN显示的结果是6条记录,但当我编译成EXE文件后就再运行就显示出来4条记录,大家帮我分析一下这会是什么问题啊。
...全文
144 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
farandfaraway 2005-08-23
  • 打赏
  • 举报
回复
是日期型的,好像没有不同,但读取的数据好像就是从某个日期之前的数据就读不出来了,会是这个问题吗
十豆三 2005-08-23
  • 打赏
  • 举报
回复
读取日期 字段是日期型的吗?
如果是你年月日格式在调试时与编译后有什么不同
farandfaraway 2005-08-23
  • 打赏
  • 举报
回复
我项目里没有添加数据库,而是在程序中直接dbp='D:\MAIN.DBC' open database (dbp)
会是这个问题吗,难道不能这样动态加载数据库吗,我该怎么改动啊
farandfaraway 2005-08-23
  • 打赏
  • 举报
回复
试了,不行还是,还是少记录
farandfaraway 2005-08-23
  • 打赏
  • 举报
回复
终于找到原因了,是我主程序上设置了SET DELETE ON,真是衰啊,哈哈
谢谢 apple_8180(十豆三),LAIYANGPJ(小丑) luwq168(后备甜心)
LAIYANGPJ 2005-08-23
  • 打赏
  • 举报
回复
SELECT p.读取日期,Sum(p.销售金额) as 销售总额,SUM(p.进货单价*p.销售数量) as 销售成本,(Sum(p.销售金额)-SUM(p.进货单价*p.销售数量)) as 利润 FROM plureport p group by p.读取日期 order by p.读取日期 INTO dbf mDbf2
select mdbf2
MESSAGEBOX(STR(RECCOUNT("mDbf2")))
thisform.grid1.RecordSource = ""
thisform.grid1.RecordSource = "mDbf2"
go top
thisform.grid1.refresh()
thisform.refresh()
测试试下,编译后文件要求严格,是不是当前用了另一个表.
落单枫叶 2005-08-23
  • 打赏
  • 举报
回复
一般情况下,这是记录屏蔽的缘故,比如执行了SET DELETE ON,或SET FILTE TO等命令,看看清楚吧。
farandfaraway 2005-08-23
  • 打赏
  • 举报
回复
apple_8180(十豆三),能留个联系方式吗,比如QQ,MSN,我想发给你帮忙看看
十豆三 2005-08-23
  • 打赏
  • 举报
回复
还是换个机子试试吧,太怪了。
farandfaraway 2005-08-23
  • 打赏
  • 举报
回复
是DATE型的,宽度8
试了,显示格式都是2005/7/30这种格式
但数据还是少,郁闷死我了
十豆三 2005-08-23
  • 打赏
  • 举报
回复
确保是日期型。
你的年月日格式在调试时与编译后设置不一样。

调试时
SET DATE TO YMD
然后看看结果与编译完是否一样。

farandfaraway 2005-08-23
  • 打赏
  • 举报
回复
显示的数据不一样,而且一个日期显示是2005.7.26,一个显示是7/26/05
LAIYANGPJ 2005-08-23
  • 打赏
  • 举报
回复
在这之前:select * FROM plureport 看看两个表是不是一样?
farandfaraway 2005-08-23
  • 打赏
  • 举报
回复
是一个目录,除了表还有一个CDX的索引文件
现在又出现了新的情况,我把原来的数据库都删除掉,然后用一个一样的库再覆盖回来,这时候EXE文件一条记录都显示不出来了,然后我打开工程,再测试,还是6条记录,然后我重新编译生成EXE文件后再执行,又是4条记录了,是不是我的数据库使用方法有问题。我直接open database ("xxx")的
十豆三 2005-08-23
  • 打赏
  • 举报
回复
你调试时和运行EXE时是一个目录吗?
如果不是,你查找一个plureport这个表,看看是只有一个文件吗?
farandfaraway 2005-08-23
  • 打赏
  • 举报
回复
plureport表里有5/24/2005一条记录,7/3/2005二十多条记录,7/26/2005 、7/27/2005 、7/29/2005 、7/30/2005各十几条记录不等,我测试时候能取出六天的统计数据,而EXE后只能显示出来7/26/2005后4天的统计数据,现在就是这个情况
十豆三 2005-08-23
  • 打赏
  • 举报
回复
但读取的数据好像就是从某个日期之前的数据就读不出来了,会是这个问题吗

----------------

请再具体一点,某个日期是什么日期?

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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