Advertisement
tasuku

main.cpp

Nov 18th, 2013
380
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.18 KB | None | 0 0
  1. #include <QtSql>
  2.  
  3. #define DEBUG() qDebug() << Q_FUNC_INFO << __LINE__
  4. #define WARNING() qWarning() << Q_FUNC_INFO << __LINE__
  5.  
  6. bool exec(QSqlQuery &query)
  7. {
  8.     if (!query.exec()) {
  9.         WARNING() << query.executedQuery() << query.lastError();
  10.         return false;
  11.     }
  12.     return true;
  13. }
  14.  
  15. int main(int argc, char **argv)
  16. {
  17.     QCoreApplication app(argc, argv);
  18.  
  19.     QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
  20.     db.setDatabaseName(":memory:");
  21.  
  22.     if (!db.open()) {
  23.         WARNING() << db.lastError();
  24.         return -1;
  25.     }
  26.  
  27.     {
  28.         QSqlQuery query(db);
  29.         query.prepare("CREATE TABLE IF NOT EXISTS Chat (key INTEGER PRIMARY KEY AUTOINCREMENT, value TEXT)");
  30.         if (!exec(query)) {
  31.             WARNING();
  32.             return -1;
  33.         }
  34.     }
  35.  
  36.     {
  37.         QSqlQuery query(db);
  38.         query.prepare("INSERT INTO Chat(value) VALUES(?)");
  39.         query.addBindValue("Qt Quick");
  40.         if (!exec(query)) {
  41.             WARNING();
  42.             return -1;
  43.         }
  44.     }
  45.  
  46.     {
  47.         QSqlQuery query(db);
  48.         query.prepare("SELECT COUNT(key) FROM Chat WHERE value LIKE ?");
  49.         query.addBindValue("%Qt%");
  50.         if (!exec(query)) {
  51.             WARNING();
  52.             return -1;
  53.         }
  54.         while (query.next()) {
  55.             DEBUG() << query.value(0).toInt() << "found";
  56.         }
  57.     }
  58.  
  59.     db.close();
  60.  
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement