当通过这条语句查询出记录数时,
sql="select count(*) from tb_cardinfo_user“
我们会得到一个这样的数据(4L,),不是一个int型数字
所以用if 将之与数字比较,其真值会发生错误;
当用int()强制转化此数据时会报下列错误:
int() argument must be a string or a number, not 'tuple'
这个原因是:逗号是tuple的创建符,有了逗号,自动创建tuple,而tuple不能转化为int型
例:
number=dbcard.getNumberByRoleid(roleid)
n=int(number)
即会报错
所以,通过获得number的第一个数据,即可得到int的数字,
例:
Number=number[0]
print number 打印(4L,)
print Number 打印4
本文介绍了一种常见的SQL查询场景,即使用SELECT COUNT(*)进行记录数统计时遇到的数据类型问题。当查询结果为元组形式时,直接进行整数类型转换会导致错误。文章提供了如何正确获取并转换查询结果的方法。
1609

被折叠的 条评论
为什么被折叠?



