Russian Qt Forum
Ноябрь 23, 2024, 15:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++  (Прочитано 56723 раз)
OKTA
Гость
« Ответ #15 : Март 18, 2014, 09:57 »

Советую сразу обратить внимание на bindValue в QSqlQuery. Когда запросы усложнятся и будут содержать спец.символы, просто так застрелишься экранировать, а через bindValue эта проблема отпадает.
Вот пример из http://habrahabr.ru/post/51650/
так
Код:
   QSqlQuery query;
   query.prepare("INSERT INTO employee (id, name, salary) "
          "VALUES (:id, :name, :salary)");
   query.bindValue(":id", 1001);
   query.bindValue(":name", "Thad Beaumont");
   query.bindValue(":salary", 65000);
   query.exec();
или так
Код:
QSqlQuery query;
   query.prepare("INSERT INTO employee (id, name, salary) "
          "VALUES (?, ?, ?)");
   query.addBindValue(1001);
   query.addBindValue("Thad Beaumont");
   query.addBindValue(65000);
   query.exec();
Записан
8Observer8
Гость
« Ответ #16 : Март 18, 2014, 10:03 »

Ух, ты! Вот это штука классная! А то я боялся этого: QString("...%1...%n"...).arg(...)...arg(...); Улыбающийся

Огромное спасибо за съэкономленное время и нервы! Улыбающийся
Записан
OKTA
Гость
« Ответ #17 : Март 18, 2014, 10:07 »

Это удобно не только потому, что время экономит, но и когда пишешь в БД данные, в которых может приходить неизвестно что) Придет тебе длиннющая строка, в которой будет одинарная кавычка и все - опять захочешь застрелиться, пока найдешь эту пакость  Смеющийся
Записан
carrygun
Гость
« Ответ #18 : Март 18, 2014, 10:41 »

С %1 нужно быть аккуратнее, если вы в arg() передадите что-то типа "somestring %2" и будете вызывать дальше arg'и, то может случиться нехорошее.

С именованными параметрами (:name) тоже надо аккуратнее, некоторые базы (например, гадкий INFORMIX) могут кушать ДатуВремя как в одинарных, так и в двойных кавычках, в каком-то из случаев у вас получится неприятная ситуация.
Записан
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #19 : Март 19, 2014, 09:05 »

Из бесплатных клиентов вот еще есть вполне неплохой: Valentina studio и его обзор на хабре
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.243 секунд. Запросов: 23.