|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ [求助]代码问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1885
人关注过本帖
标题:
[求助]代码问题
只看楼主
加入收藏
TZTJ
等 级:
论坛游侠
威 望:
1
帖 子:737
专家分:115
注 册:2008-1-15
结帖率:
100%
楼主
收藏
问题点数:0 回复次数:10
[求助]代码问题
请问各位高手,以下代码有何错误呢?
。。。。。
select 姓名, sum(iif(课程名='&km',成绩,0))&km;
from xscj2 group by 学号 having 年级=nj or 班级=nj;
order by &km desc;
into cursor temp
。。。。。。
这段代码在VFP6运行正常,而转到VFP9却出现错误提示:having 语句无效
搜索更多相关主题的帖子:
代码
2008-12-11 10:11
举报帖子
使用道具
赠送鲜花
robinbest
等 级:
新手上路
威 望:
2
帖 子:213
专家分:0
注 册:2007-9-13
第
2
楼
收藏
得分:0
select min(姓名) as 姓名, sum(iif(课程名=km,成绩,0)) as &km;
from xscj2 group by 学号 having 年级=nj or 班级=nj;
order by &km desc;
into cursor temp
特别不能理解楼主这句是怎么写出来的?
sum(iif(课程名='&km',成绩,0))&km;
[[it] 本帖最后由 robinbest 于 2008-12-11 10:21 编辑 [/it]]
2008-12-11 10:20
举报帖子
使用道具
赠送鲜花
TZTJ
等 级:
论坛游侠
威 望:
1
帖 子:737
专家分:115
注 册:2008-1-15
第
3
楼
收藏
得分:0
robinbest不知是否理解错这段代码呢?问题主要在它可以在VFP6运行,而在VFP9不能运行,说是 having错误。
对于sum(iif(课程名='&km',成绩,0))&km,主要针对有关成绩统计把字段变为列名
2008-12-11 11:07
举报帖子
使用道具
赠送鲜花
robinbest
等 级:
新手上路
威 望:
2
帖 子:213
专家分:0
注 册:2007-9-13
第
4
楼
收藏
得分:0
以下是引用
TZTJ
在2008-12-11 11:07的发言:
robinbest不知是否理解错这段代码呢?问题主要在它可以在VFP6运行,而在VFP9不能运行,说是 having错误。
对于sum(iif(课程名='&km',成绩,0))&km,主要针对有关成绩统计把字段变为列名
vfp6能运行,vfp9提示出错的情况多呢!
你 having 年级=nj or 班级=nj
是要想干什么? 怎么两是都是 =nj?
而且我认为,你用group by 本身像你那写就不对(不分组的字段好像必须使用聚合函数)。
你最好直接说出你要的功能,让大家给你重写select 语句。
我当然知道sum(iif(课程名='&km',成绩,0))&km 是干什么的,我只是奇怪
课程名='&km'
这样写是干嘛,多此一举呀!直接
课程名=km
不更简单?
2008-12-11 15:06
举报帖子
使用道具
赠送鲜花
qjbzjp
来 自:尧的故乡
等 级:
贵宾
威 望:
48
帖 子:1914
专家分:4397
注 册:2007-3-14
第
5
楼
收藏
得分:0
好像有问题……
不过真如楼主所说VF6可以正确运行,那可以试试:
SET ENGINEBEHAVIOR 70
相互学习,互相交流,共同提高。
2008-12-11 15:18
举报帖子
使用道具
赠送鲜花
TZTJ
等 级:
论坛游侠
威 望:
1
帖 子:737
专家分:115
注 册:2008-1-15
第
6
楼
收藏
得分:0
能解析SET ENGINEBEHAVIOR 70 的作用吗?
对于robinbest的问题,我很难说得清楚,是我在不断实验中得到的,总之它能实现我想要的功能。
只不过近来改为VFP9运行后才发现这个问题。因此,我想了解一下VFP6与VFP9在代码运行时有什么特别要求呢?
2008-12-11 21:29
举报帖子
使用道具
赠送鲜花
ThomasLv
等 级:
新手上路
帖 子:6
专家分:0
注 册:2008-12-6
第
7
楼
收藏
得分:0
发现写的代码太不规范,如在我公司早被批了。好的代码是一种习惯。
SET ENGINEBEHAVIOR 70 是 VFP8的初值设定。
9.0初值为80,想SQL Server一样严格的使用group by .
但为了 方便一般都是用SET ENGINEBEHAVIOR 70
2008-12-11 22:56
举报帖子
使用道具
赠送鲜花
TZTJ
等 级:
论坛游侠
威 望:
1
帖 子:737
专家分:115
注 册:2008-1-15
第
8
楼
收藏
得分:0
加上SET ENGINEBEHAVIOR 70 问题已经解决。对于thomaslv说代码太不规范,不知你有水平吗?你对VFP掌握了多少呢?
2008-12-11 23:26
举报帖子
使用道具
赠送鲜花
qjbzjp
来 自:尧的故乡
等 级:
贵宾
威 望:
48
帖 子:1914
专家分:4397
注 册:2007-3-14
第
9
楼
收藏
得分:0
SET ENGINEBEHAVIOR 70
是指定 Visual FoxPro 按 Visual FoxPro 8.0 以前版本的方式处理 SQL 命令。
相互学习,互相交流,共同提高。
2008-12-12 07:11
举报帖子
使用道具
赠送鲜花
robinbest
等 级:
新手上路
威 望:
2
帖 子:213
专家分:0
注 册:2007-9-13
第
10
楼
收藏
得分:0
我这前也遇到过同样的问题,也是GUOUP BY 出问题,在CSDN上有位高人指点说:VFP9比VFP6更规范,要求更严格。
2008-12-12 08:18
举报帖子
使用道具
赠送鲜花
11
1/2页
1
2
快速回复:
[求助]代码问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.058970 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved