firebird, insert возвращает ошибку -1, строку вставляет |
Здравствуйте, гость ( Вход | Регистрация )
firebird, insert возвращает ошибку -1, строку вставляет |
gvenihvivar |
14.5.2015, 15:13
Сообщение
#1
|
Студент Группа: Участник Сообщений: 36 Регистрация: 6.11.2013 Пользователь №: 3967 Спасибо сказали: 0 раз(а) Репутация: 0 |
qt sdk 4.8
firebird 2.5 и ibexpert Создала базу данных и таблицу. Вставляя строки программно обратила внимание, что insert возвращает постоянно false, а строки вставляются исправно. К базе данных подключилось нормально. Команды update, delete, select работают правильно. Вот так выглядит запрос. Оба поля int. id primary key.
Кто-то сталкивался с таким? Может, это просто баг? |
|
|
Iron Bug |
15.5.2015, 8:44
Сообщение
#2
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
а нафига там кавычки стоят, если поля типа int?
|
|
|
gvenihvivar |
15.5.2015, 9:05
Сообщение
#3
|
Студент Группа: Участник Сообщений: 36 Регистрация: 6.11.2013 Пользователь №: 3967 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
lanz |
15.5.2015, 9:12
Сообщение
#4
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Возможно дело в том, что:
http://doc.qt.io/qt-4.8/qsqlquery.html#QSqlQuery-2 Цитата Constructs a QSqlQuery object using the SQL query and the database db. If db is not specified, or is invalid, the application's default database is used. If query is not an empty string, it will be executed. А затем ваш exec пытается вставить второй элемент с таким же id. Попробуйте использовать prepare. |
|
|
gvenihvivar |
15.5.2015, 10:00
Сообщение
#5
|
Студент Группа: Участник Сообщений: 36 Регистрация: 6.11.2013 Пользователь №: 3967 Спасибо сказали: 0 раз(а) Репутация: 0 |
lanz спасибо тебе!!!
Более менее рабочий вариант
Результат вывода "exec insert true error " " -1" Неопределенная ошибка осталась, но по крайней мере отчитывается корректно. В документации написано "Returns the database-specific error number, or -1 if it cannot be determined." "-1" это не смертельно или лучше и с ним разобраться? |
|
|
Iron Bug |
15.5.2015, 10:42
Сообщение
#6
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
insert вернул true. в этом случае незачем читать что-то из lastError, там может быть что угодно.
|
|
|
Текстовая версия | Сейчас: 22.11.2024, 6:35 |