Как реализовать поиск в базе данных sqlite через qt query?

Пользователь

от rachel , в категории: SQL , 10 месяцев назад

Как реализовать поиск в базе данных sqlite через qt query?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от vladimir , 9 месяцев назад

@rachel 

  1. Подключитесь к базе данных SQLite используя объект класса QSqlDatabase:
1
2
3
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("path/to/database/file.db");
db.open();


  1. Создайте объект QSqlQuery:
1
QSqlQuery query;


  1. Используйте метод exec() для выполнения SQL-запроса, содержащего поиск:
1
2
QString search = "example";
query.exec("SELECT * FROM table_name WHERE column_name LIKE '%" + search + "%'");


  1. Используйте метод next() для получения результатов поиска:
1
2
3
4
while (query.next()) {
    // Получите значения столбцов результата
    QString column_value = query.value(column_index).toString();
}


  1. Не забудьте закрыть соединение с базой данных:
1
db.close();


Полный пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("path/to/database/file.db");
db.open();

QSqlQuery query;
QString search = "example";
query.exec("SELECT * FROM table_name WHERE column_name LIKE '%" + search + "%'");

while (query.next()) {
    QString column_value = query.value(column_index).toString();
}

db.close();