| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 907 人关注过本帖
标题:还是关于vfp9.0
只看楼主 加入收藏
jiguanqiang8
Rank: 1
等 级:新手上路
帖 子:154
专家分:2
注 册:2013-2-7
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:22 
还是关于vfp9.0
明明已经用select main 选中了主表,然后 append blank ,系统却提示选中的是另一个临时表,这时怎么回事,怎么返回我要的表啊
搜索更多相关主题的帖子: blank 
2013-02-15 12:13
jiguanqiang8
Rank: 1
等 级:新手上路
帖 子:154
专家分:2
注 册:2013-2-7
收藏
得分:0 
6.0用的没有问题,到9.0有时出些问题
2013-02-15 12:14
jiguanqiang8
Rank: 1
等 级:新手上路
帖 子:154
专家分:2
注 册:2013-2-7
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
我选的是主表,系统却指向临时表
2013-02-15 12:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
你是不是使用了SELECT-SQL命令但没有指定另外的CURSOR别名?

授人以渔,不授人以鱼。
2013-02-15 12:28
jiguanqiang8
Rank: 1
等 级:新手上路
帖 子:154
专家分:2
注 册:2013-2-7
收藏
得分:0 
应该没有,如果没有指定CURSOR别名,查询结果会显示出来,我先检查下
2013-02-15 12:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
如果用了CURSOR别名,不要跟原表相同。使用SELECT-SQL之后,临时表不用了,记得关闭它,占用内存、占用工作区,往往是这种错误的源头。

授人以渔,不授人以鱼。
2013-02-15 12:40
jiguanqiang8
Rank: 1
等 级:新手上路
帖 子:154
专家分:2
注 册:2013-2-7
收藏
得分:0 
程序代码:
thisform.lockscreen=.t.
select main
    select max(bianhao) as maxbianhao1 from main into cursor yy
    maxbianhao=maxbianhao1

 if thisform.pf.page2.text1.value=""
    select main
    maxjilu=maxbianhao

else
    select main
     select max(bianhao) as maxbianhao2,shenhe from main where 罐号=alltrim(thisform.pf.page2.text1.value) into cursor uu
     maxjilu=maxbianhao2
     maxshenhe=shenhe
     *calc max(bianhao) for 罐号=alltrim(thisform.pf.page2.text1.value) to maxjilu
     guanhao1=alltrim(thisform.pf.page2.text1.value)
     select youguan
     locate for 罐号=guanhao1
         mypinzhong=品种
     select main
    
endif

select main
mybian=bianhao
if  maxjilu=mybian and getnextmodified(0)=0 and nkeycode=24
           if thisform.pf.page2.text1.value=""   
               select main
               append blank   **这里开始出问题
            replace 日期 with date()
            replace bianhao with maxbianhao+1
        else 
             if maxshenhe=1
                select main
                append blank 
                replace 日期 with date()
                replace bianhao with maxbianhao+1
                replace 罐号 with guanhao1
                replace 品种 with mypinzhong
              else
                 messagebox("该罐的上一笔数据未审核,不能添加",0,"注意") 
               
              endif 
        endif
           
endif
thisform.lockscreen=.f.
2013-02-15 12:45
jiguanqiang8
Rank: 1
等 级:新手上路
帖 子:154
专家分:2
注 册:2013-2-7
收藏
得分:0 
我检查了下,没有和主表同名的CURSOR别名,是不是前面的CURSOR 别名yy和uu 引起的,但在6.0下运行得都很好
2013-02-15 12:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这样看是看不出来的。在use main的地方,记下它的工作区号,在这里出错行select之后,添加一条语句messagebox(select()),看看两个工作区是不是一样。逐条追查。

授人以渔,不授人以鱼。
2013-02-15 12:55
jiguanqiang8
Rank: 1
等 级:新手上路
帖 子:154
专家分:2
注 册:2013-2-7
收藏
得分:0 
为什么在6.0就不出问题呢
2013-02-15 12:58
快速回复:还是关于vfp9.0
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037740 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved