import { environment } from '@environments/environment.prod';
fileReplacements
находится в architect.test.options.fileReplacements
. environment.*.ts
, кроме environment.ts
, во что-то вроде DO-NOT-IMPORT.ENVIRONMENT.*.ts
. По крайней мере, это будет кричать на меня, если я получу неправильный импорт. В соответствии с требованиями спецификации API Python DB, атрибут rowcount «-1 в случае не выполняется executeXX () курсор или количество строк последнего операция не определяется интерфейс ».
Сюда входят операторы
SELECT
потому что мы не можем определить число строк запрос производится до
Это означает, что все операторы SELECT
не будут иметь rowcount
. Поведение, которое вы наблюдаете, задокументировано.
РЕДАКТИРОВАТЬ: Документация нигде не говорит, что rowcount
будет обновляться после того, как вы выполните fetchall ()
, так что это просто неверно предполагать, что.
cursor = newdb.execute('select * from mydb;')
print len(cursor.fetchall())
fetchall () вернет список строк, возвращаемых из выбора. Лен из этого списка даст вам количество строк.
Может лучше посчитать строки таким образом:
print cur.execute("SELECT COUNT(*) FROM table_name").fetchone()[0]
Instead of "checking if a fetchone() returns something different than None", I suggest:
cursor.execute('SELECT * FROM foobar')
for row in cursor:
...
this is sqlite
-only (not supported in other DB API implementations) but very handy for sqlite
-specific Python code (and fully documented, see http://docs.python.org/library/sqlite3.html).