结果始终为零
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结果始终为零相关的知识,希望对你有一定的参考价值。
在我的网络服务器上执行这段代码时,结果始终是0 (ZERO)
任何人都可以预见到这个问题(解决方案更好:-D)
Dim MyTotalPages
Dim Recordset
Dim Connection
Dim aspDBcount
Dim ShowRowCount
ShowRowCount = 3 ' Fixed size
Set Connection = Server.CreateObject("ADODB.Connection")
Set Recordset = Server.CreateObject("ADODB.Recordset")
ConnString = "DRIVER={mysql ODBC 5.3 Unicode Driver}; SERVER=server_address; UID=a_username;PASSWORD=a_password; OPTION=3; Port=a_port"
Connection.Open ConnString
SQL = "SELECT COUNT(*) AS MyRowCounts FROM `a_database`.`a_table`;"
Set Recordset = Connection.Execute(SQL)
aspDBcount = (Recordset("MyRowCounts") * 1)
Recordset.Close
MyTotalPages = (aspDBcount * 1) / (ShowRowCount * 1))
Response.Write aspDBcount & "html_NEW_LINE" & ShowRowCount & "HTML_NEW_LINE" & MyTotalPages
- 输出为10,3,0
- 应该是10,3,3.333333 ......(数据库中有当前数据)
答案
使用:
aspDBcount = cInt(Recordset("MyRowCounts")) * 1
在MySQL中,SELECT COUNT()
返回一个BIGINT
整数类型,需要转换才能操作它并在VBScript中正确使用它。
CInt
只能在-32,767
和32,767
之间转换数字
如果你的SELECT COUNT()
超出这个范围,你需要使用CLng
,它有一系列的-2,147,483,648
到2,147,483,647
你也可以使用CDbl
,这有点奇怪。它可以转换巨大的数字,似乎没有溢出。如果你试图传递一个可笑的大整数,它最终会返回一个Invalid number
错误。
以上是关于结果始终为零的主要内容,如果未能解决你的问题,请参考以下文章
UIButton.titleLabel.frame.size 始终为零值
Android SMS Verification API 结果码始终为 0