关于Foxpro里提示从该数据找不到文件问题

lawrendc 2011-06-28 09:41:35
各位,我在做一个简单应用程序,所有的表都是放在数据库里的,界面上的有些控件做了原始的数据绑定,但会出现一些情况就是有的时候运行正常,但有的时候会弹出要我打开表。另外我的数据库里的表明明有10个,但弹出来的对话框里却只有5个表,为什么?难道是因为我建表的方法不一样造成的??另外,还有个问题,Foxpro 9.0里 如何程序点关掉没反应,如何停止程序,我指的是在程序设计和调试阶段,谢谢
...全文
202 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lawrendc 2011-06-28
  • 打赏
  • 举报
回复
好 我试试 谢谢
wwwwb 2011-06-28
  • 打赏
  • 举报
回复
你的代码是什么,在程序中创建表?如果是,此表已经打开,自己在
程序中加入DISPLAY STATUS可以看到
lawrendc 2011-06-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wwwwb 的回复:]

你的代码,估计已经打开这些表了
[/Quote]

太笨了 没看懂
wwwwb 2011-06-28
  • 打赏
  • 举报
回复
你的代码,估计已经打开这些表了
lawrendc 2011-06-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lawrendc 的回复:]

还有一个问题 就是 为什么我的有些表 在项目管理器里显示有,而在程序执行的时候 弹出需要我打开表列表里却没有,难道是因为这些表 我不是直接在数据库里创建的。而是创建好自由表另外附加进去的原因 ???
[/Quote]

那个这问题是为什么呢 老大
wwwwb 2011-06-28
  • 打赏
  • 举报
回复
对,是这样,在VFP中 DISPLAY STATUS可以看到
lawrendc 2011-06-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wwwwb 的回复:]

select Eng_id,Eng_Name from db!t_engineer where ALLTRIM(pro_Id)='"+cur_ProId+"' into dbf temp_Engineer

打开了db!t_engineer、temp_Engineer表

DISPLAY STATUS可以看到
[/Quote]

是不是每一个select * from tableA into dbf tableB
都会打开两个表 原始表 和目标表 目标表可以直接覆盖 对吧
那原始表会重复打开 是不是??
wwwwb 2011-06-28
  • 打赏
  • 举报
回复
select Eng_id,Eng_Name from db!t_engineer where ALLTRIM(pro_Id)='"+cur_ProId+"' into dbf temp_Engineer

打开了db!t_engineer、temp_Engineer表

DISPLAY STATUS可以看到
lawrendc 2011-06-28
  • 打赏
  • 举报
回复
还有一个问题 就是 为什么我的有些表 在项目管理器里显示有,而在程序执行的时候 弹出需要我打开表列表里却没有,难道是因为这些表 我不是直接在数据库里创建的。而是创建好自由表另外附加进去的原因 ???
lawrendc 2011-06-28
  • 打赏
  • 举报
回复
我实现的功能其实就是一个级联的Combox,当我选择项目号时,可以在工程号Combox里显示相应的工程号。我没在init事件里写任何的东西,只是在每个Combox里将Builder里设置相关的表属性,然后项目号的InteractiveChange事件里 代码如下:


cur_ProId=ALLTRIM(this.Value)
IF LEN(cur_ProId)=0 then
RETURN
ENDIF

SET SAFETY OFF

&& if the DBC hasn't opened , open it right now
IF LEN(DBC())=0 then
open database "F:\Company_Code\NO_Equip\DB\DB.dbc"
endif

thisform.combo_EngId.RowSource=""

ssql="select Eng_id,Eng_Name from db!t_engineer where ALLTRIM(pro_Id)='"+cur_ProId+"' into dbf temp_Engineer "

&ssql

thisform.combo_EngId.Value=""
thisform.combo_EngId.ColumnCount=2
thisform.combo_EngId.RowSourceType=2
thisform.combo_EngId.RowSource="temp_Engineer"
thisform.combo_EngId.ListIndex=1
wwwwb 2011-06-28
  • 打赏
  • 举报
回复
我一直想问 我在comBox控件里设置了RecordSource算不算打开了表,算不算打开了数据库?
不算

问题的关键是为什么有的时候可以 有的时候不行 很让我纳闷
你的代码是什么
lawrendc 2011-06-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wwwwb 的回复:]

打开表的方法有错?比如
USE DATABASENAME!TABLENAME
[/Quote]

我一直想问 我在comBox控件里设置了RecordSource算不算打开了表,算不算打开了数据库?
问题的关键是为什么有的时候可以 有的时候不行 很让我纳闷
wwwwb 2011-06-28
  • 打赏
  • 举报
回复
打开表的方法有错?比如
USE DATABASENAME!TABLENAME
wwwwb 2011-06-28
  • 打赏
  • 举报
回复
在程序中打开表没有 OR 在数据环境中加入表没有
估计有些表已经打开

set esca on 按ESC中止程序

2,748

社区成员

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

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