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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqlQuery дублирование записей при вставке  (Прочитано 3733 раз)
BuRn
Гость
« : Май 16, 2013, 11:39 »

Добрый день. Не могу понять в чем дело. Есть конструктор, который вставляет в базу 1 запись, состоит из 2 строк:
Код:
    QSqlQuery query(QString("INSERT INTO order_order (cashier_id) values ('%1')").arg(cashier.getID()));
    query.exec();
Но засада вся в том, что почему - то он мне вставляет вместо одной записи , ажно две, с чем может быть связанно данное поведение ?
Записан
Serr500
Гость
« Ответ #1 : Май 16, 2013, 11:42 »

Ну, например, с тем, что конструктор вызывается два раза...
Записан
BuRn
Гость
« Ответ #2 : Май 16, 2013, 11:49 »

Ну, например, с тем, что конструктор вызывается два раза...
вынес из конструктора, сделал отдельный метод createOrder, который делает тоже самое что и конструктор, из конструктора удалил эти 2 строки, ситуация аналогичная
Записан
LEO
Гость
« Ответ #3 : Май 16, 2013, 12:32 »

Что за БД, скинь что нить компиляберное, а то так гадать только???
Записан
mta88
Гость
« Ответ #4 : Май 16, 2013, 12:34 »

если в конструкторе QSqlQuery есть непустая строка, то она выполняется
это прямым текстом в документации сказано

то есть ваша строка в самом деле выполняется 2 раза
Записан
BuRn
Гость
« Ответ #5 : Май 16, 2013, 13:00 »

если в конструкторе QSqlQuery есть непустая строка, то она выполняется
это прямым текстом в документации сказано

то есть ваша строка в самом деле выполняется 2 раза
Истинно, спасибо, проблема решена
Записан
Serr500
Гость
« Ответ #6 : Май 16, 2013, 13:18 »

если в конструкторе QSqlQuery есть непустая строка, то она выполняется
Не знал...  Грустный
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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