Всем Здравствуйте! Возникла следующая проблемка: Есть таблица допустим "Основная", также есть таблицы "Пациент" и "Прибор". 2 последние соединины с "Основной" по вторичным ключам Pat_ID и IP_ID. В "Основной " таблице эти поля могут быть NULL. Если я вставляю новую запись в таблицу из phpmyadmin все работает. Если я пишу запрос в Qt следующим образом
if (query.prepare(tr("INSERT INTO Osn_dan VALUES (:Dan_ID, :Osnov_dan, :Pat_ID, :Pers_ID, :IP_ID)")))
{
query.bindValue(":Dan_ID", "Trigered");
query.bindValue(":Osnov_dan", "Null");
query.bindValue(":Pat_ID", "Null");
query.bindValue(":IP_ID", "Null");
query.exec();
}
Запрос срабатывает, триггер срабатывает, но данные не вставляются
а вот так
if (query.prepare(tr("INSERT INTO Osn_dan VALUES (:Dan_ID, :Osnov_dan, :Pat_ID, :Pers_ID, :IP_ID)")))
{
query.bindValue(":Dan_ID", "Trigered");
query.bindValue(":Osnov_dan", "Null");
query.bindValue(":Pat_ID", "1");
query.bindValue(":IP_ID", "2");
query.exec();
}
Все работает. Подскажите почему так, и что мне собственно делать. Заранее спасибо за ответы))
Stoptyssin, покажи запросы создания таблиц, что ж в уме людям это делать ? Но сразу могу сказать, что ключи не могут быть равны null
Ну так использование связанных переменных подразумевает не тупую замену плейсхолдеров, это целый механизм. Для передачи NULL-значений надо передавать NULL типа QVariant. Например, для передачи NULL в поле, с типом "строка", надо передать QVariant(QVariant::String).
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)