2015-08-31 4 views
1

Я играю с python в первый раз на малине pi.Установить переменную python из результата SQL-запроса

У меня есть сценарий, который запрашивает таблицу SQL и возвращает значение, которое установлено.

Что я не могу получить, это установить переменную python из результатов.

Вот часть кода у меня есть

# execute SQL query using execute() method. 
cursor.execute("select id from wallboard") 

# Fetch a single row using fetchone() method. 
data = cursor.fetchone() 

# disconnect from server 
db.close() 

result = str("%s " % data) 
print result 

if result == 1: 

Отпечаток отображает результат в порядке, но он не собирается в если заявление.

Я очень новичок в python, поэтому его возможно простое исправление, но я в тупике.

Благодаря

ответ

4

Не конвертировать результат в строку:

>>> "1" == 1 
False 

отметить также, что fetchone() вернет вам один ряд результатов, которые будут представлены в виде кортежа - получить первый элемент в получить фактическое значение id столбца:

result = cursor.fetchone()[0] 
+0

Обратите особое внимание на тип в Python (в зависимости от того, что языки вы из этого может быть немного странно). Используйте тип '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' У нас все еще ранние сборки. Также ключевым является '' 'isinstance()' '', чтобы определить, является ли тип string/class/etc или экземпляром определенного имени класса. –

+0

@ BK435 совет полностью применим для конкретного случая. OP сравнивает результат SQL-запроса, который возвращает целочисленный идентификатор с целым числом '1'. Нет смысла делать промежуточную строку. – alecxe

Смежные вопросы