首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

送分100分:关于MAX的使用有关问题

2013-09-11 
送分100分:关于MAX的使用问题为什么 sql select max(工资)from yhxx where 工序熔炼rst.open sql当

送分100分:关于MAX的使用问题
为什么 sql ='select max(工资) from yhxx where 工序='熔炼''
rst.open sql
当熔炼工序没有人员时,返回的rst.recordcount=1,应该是=0呀,为什么?



[解决办法]
当没有数据时 Max 会去一个 0 作为一条数据,也就是说 select max(某某 ) from XXXX 这样的SQL
最少也会有一条数据返回的。
[解决办法]
不能判断rst.recordcount
应该判断rst.fields(0)
[解决办法]
max(工资) 必然会有一条返回记录的,在熔炼工序没有人员时,记录的内容为Null
sql ='select isnull(max(工资),0) from yhxx where 工序='熔炼''
这样 如果记录为0(你可以自己指定这个数字)时,说明没有记录。

[解决办法]
聚合函数都是这样,max(),sum(),count()之类的,返回的不是指数据库中本身的某条或某些条记录,而是这个max(),sum()或count()本身.
[解决办法]

探讨
为什么 sql ='select max(工资)  from yhxx where 工序='熔炼''
rst.open sql
当熔炼工序没有人员时,返回的,应该是=0呀,为什么?


[解决办法]
如果SQL无误的话,那么就得看你的数据库实际是否有这么样的记录了. 你可以直接在数据库里运行一下这句话看看是什么结果.
这些都是实际调试的时候能找出结果的东西,放到论坛上来其实解决不了什么问题, 毕竟我们也不知道你的数据库内容和程序环境.
[解决办法]
用了聚合函数后返回的是统计的结果而不是被统计的明细。
我的异常网推荐解决方案:软件开发者薪资,http://www.myexception.cn/other/1391128.html

热点排行