Форум сайта python.su
Всем доброго!
Подскажите пожалуйста как с помощью pyodbc2.1.6 посчитать количество записей в selecte из pervasive.
Делаю так: len(cu.execute(selec).fetchall()) и так: cu.execute(selec).rowcount
Но что-то не выходит.
Офлайн
rowcount c odbc почему-то не работает. когда-то сталкивался, нашел об этом на каком-то форуме. всегда возвращает -1 - связано с реализацией самой ODBC
а с примером ниже нет проблем:
>>> len(cur.execute(sql_str).fetchall())
119
Отредактировано (Июль 23, 2009 16:24:30)
Офлайн
Вообще моя задача несколько иная мне нужно отбирать селектом одну запись и если в селекте действительно она одна, необходимо произвести с ней некоторые действия. Раньше делал сравнение через это: len(cu.execute(selec).fetchall()), а теперь что-то она перестала работать. Есть ли другой способ?
Офлайн
Спасибо, разобрался проблема была в другом.
Офлайн
Немного запоздало, но может попросить считать саму базу? “select count(*)…”
Офлайн
ZZZподробнее раскажите как это количество в питон передать?
Немного запоздало, но может попросить считать саму базу? “select count(*)…”
c.exec(""select count(*)...")
print c.????#как распечататть кол-во записей
Офлайн
qman
подробнее раскажите как это количество в питон передать?
c.exec(""select count(*)...")
print c.fetchone()[0]
Офлайн
Спасибо.
А если выполняется запрос типа
update table set a = 5 where b = 4
То как получить кол-во которые были обновлены?
Сейчас использую pyodbc при запросах к ms sql
Заранее спасибо!
Отредактировано (Март 11, 2010 13:26:01)
Офлайн
qmanhttp://code.google.com/p/pyodbc/wiki/Cursor. Смотрите в сторону rowcount.
То как получить кол-во которые были обновлены?
Офлайн
qmanc.rowcount
А если выполняется запрос типа
update table set a = 5 where b = 4
То как получить кол-во которые были обновлены?
Офлайн