2016-04-05 3 views
-1

Я работаю в приложении опоки и, как предполагает название, я хочу, чтобы сохранить «выберите результат запроса» (БД SQLite) в переменной, как это:Как сохранить результат запроса запроса в переменной?

id_ = g.db.execute("SELECT id_user FROM user WHERE name = ?", [username]) 

, но он не работает нормально , Как я могу сделать?

+1

Вы должны объяснить, что «не работает». Это может означать много разных вещей. – csmckelvey

ответ

1

Для того, чтобы получить результаты, нужно .fetch*().

Если вы уверены, что вы только собираетесь получить один результат, вы можете сделать:

id_ = g.db.execute("SELECT id_user FROM user WHERE name = ?", [username]).fetchone()[0] 

Edit: нужно добавить [0] в конце, так как fetch*() всегда возвращают последовательность. Несмотря на то, что запрос возвращает только один элемент, он по-прежнему представляет собой последовательность с одним элементом, поэтому для установки id_ ему присвойте его первому (и единственному) элементу в последовательности результатов.

+0

Добавлено: Необходимо добавить '[0]' в конце, так как методы 'fetch *()' всегда возвращают последовательность. Несмотря на то, что запрос возвращает только один элемент, он по-прежнему является последовательностью. – aneroid

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