1

MYSQL新手

我的 SQL/ASP:

sQuery = "SELECT ID, Shop, Make, COUNT(*) AS iTotal From Test.Makes WHERE Shop = " & s & " GROUP BY Make ORDER BY Make ASC;"

该表包含 1 行 ID=1, Shop=1, Make=Test

什么时候s = 1iTotal = 1一切运行正常,什么时候s = 0,iTotal 使页面崩溃,错误为“80020009”

有没有办法记录 0 记录数

IF iTotal > 0 然后执行此操作,否则执行此操作

4

2 回答 2

1

您应该检查您的记录集是否不是 EOF

if not rs.EOF Then
    Do your stuff
end if
于 2013-05-16T15:02:53.273 回答
0

如果你摆脱分组,你可以保证你总是会得到一个结果。从发布的内容看来,您只需要计算 where Shop = s。我这么说是因为你没有分组,ID所以Shop这些值在结果中是不可预测的。

SELECT COUNT(*) AS iTotal FROM Test.Makes WHERE Shop = <your shop value>

基本上,如果您计算分组但没有找到任何结果,您将不会得到结果。如果您在没有分组的情况下进行计数并且没有找到任何内容,您将得到零结果。

另请注意,您的代码容易受到 SQL 注入的影响。有关在 Classic ASP 中避免这种威胁的信息,请参阅此处

于 2013-05-16T15:05:35.727 回答