2015-05-11 5 views
0

У меня есть приложение, которое использует базу данных sqlite. Я обновил приложение и обновил свою базу данных при запуске приложения.Как проверить, существует ли столбец в sqlite в Qt

Для этого мне нужно проверить, существует ли какой-либо столбец в таблице. Я не уверен, как это сделать ...

Я видел PRAGMA table_info (имя-таблицы); вернет имена столбцов, но этот результат будет в таблице, и я не уверен, как читать его в Qt.

ответ

4

PRAGMA table_info возвращает свои данные как обычный запрос, то есть, как если бы запрос SELECT cid, name, type, notnull, dflt_value, pk FROM ...:

query.exec("PRAGMA table_info(MyLittleTable)"); 
while (query.next()) { 
    print("column name: ", query.value(1)); 
} 
+0

делает выполнение этой команды изменить базу данных? Почему я спрашиваю, что когда я запускаю этот PRAGMA table_info (MyLittleTable) в стороннем браузере sqlite, он просит записать изменения в базу данных/вернуть изменения ... – Abin

+0

Этот оператор не изменяет базу данных. Это похоже на ошибку в стороннем браузере. –

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