2013-05-16 3 views
1

MYSQL новичкуMYSQL, COUNT = 0 Ошибка

My 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, Магазин = 1, Make = тест

Когда s = 1, iTotal = 1 и все нормально работает, когда s = 0, iTotal выдает сообщение об ошибке «80020009»

Есть ли способ записи 0 записей

IF iTotal>-Тогда сделайте это еще сделать

ответ

1

Вы должны проверить, если ваши записи не EOF

if not rs.EOF Then 
    Do your stuff 
end if 
+0

Спасибо за это. Я так привык к rst.recordcount –

0

Вы можете гарантировать, что вы всегда получите результат, если вы избавиться от группировка. Из того, что опубликовано, похоже, вам просто нужно подсчитать, где Shop = s. Я говорю это потому, что вы не группируете по ID или Shop, чтобы эти значения были непредсказуемыми в результатах.

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

В принципе, если посчитать с группировки и ничего нашел, вы не получите результат. Если вы считаете, что без группировки и ничего не найдено, вы получите результат с нуля.

Также обратите внимание, что ваш код подвержен SQL-инъекции. См. here для получения информации об избежании этой угрозы в классическом ASP.

+0

Хороший совет. благодаря –