Найти - Пользователи
Полная версия: sqlite3 NoneType
Начало » Python для новичков » sqlite3 NoneType
1
moridin777
Добрый день.
Недавно стал изучать python 3.3.2.
Пробую работать с базой sqlite3, для примера создал таблицу (столбцы integer и TEXT, наименование i и t соответсвтенно), при попытке прочесть данные, данные читаються, при попытке передать их переменной, вместо integer получаю none, при проверки типа: <class ‘NoneType’>
код:
terabayt
import sqlite3
x=0
y=0
con=sqlite3.connect(“testdb.db”)
cur=con.cursor()
cur.execute(“select i from t7 where i=3”)
print(cur.fetchone())
x=type(cur.fetchone())
y=cur.fetchone()
print(x)
print(y)
cur.close()
con.close()
текст выполнения:
(3,)
<class ‘NoneType’>
None

Читал, что для python в sqllite3 нужно в запросе указывать тип, или приобразоывать, подскажите какую ошибку я допустил?
Буду очень благодарен.
terabayt
moridin777
подскажите какую ошибку я допустил?
не правильно вставили код на форуме)

бд скиньте
Shaman
fetchone()
Fetches the next row of a query result set, returning a single sequence, or None when no more data is available.
moridin777
Shaman
fetchone()
Fetches the next row of a query result set, returning a single sequence, or None when no more data is available.

None when no more data is available, но ведь когда вывожу print(cur.fetchone()) получаю данные: (3,).
Добавил для теста в базу еще один набор значений:
3|multiply
4|test2

Запрос исправил (cur.execute(“select i from t7 where i=3”)) на (cur.execute(“select i from t7 where i>2”)).
все равно сообщение тоже, даже если он смотрит на следующий элемент в последовательности.
moridin777
Прикладываю файл с БД.
Таблица с наименованием “t7”.
terabayt
import sqlite3
x=0
y=0
con=sqlite3.connect("testdb.db")
cur=con.cursor()
cur.execute("select i from t7 where i>2")
a = cur.fetchone()
print(a)
print(type(a))
print cur.fetchone()
cur.execute("select i from t7 where i>2")
print cur.fetchall()
cur.close()
con.close()
(3,)
<type 'tuple'>
(4,)
[(3,), (4,)]
fetchone при каждом вызове возвращает одну запись, а потом перемещает указатель! по аналогии как readline()
moridin777
terabayt
fetchone при каждом вызове возвращает одну запись, а потом перемещает указатель! по аналогии как readline()
Спасибо! Очень помогли
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB