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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Объявление QSqlQuery  (Прочитано 2856 раз)
lokoArt
Гость
« : Январь 14, 2010, 07:49 »

Приветв всем.
Знатоки, подскажите подалуйста в чём проблема.
Есть 2 кода, которые выполняют одно и тоже, только проблема заключается в том, что первые 2 кода работаю, а последний нет:

Код:
bool res;
QSqlQuery* query;
if(!db.open()){
return 1;
st.setText(db.lastError().databaseText());
st.exec();
}
else{
query = new QSqlQuery();
res = query->exec("INSERT INTO CLIENTS VALUES('"+name+"', '"+surname+"', '"+patronymic+"', '"+dateOfBirthday+"', '"+address+"')");
}
return res;

Код:
bool res;

if(!db.open()){
return 1;
st.setText(db.lastError().databaseText());
st.exec();
}
else{
QSqlQuery query;
res = query.exec("INSERT INTO CLIENTS VALUES('"+name+"', '"+surname+"', '"+patronymic+"', '"+dateOfBirthday+"', '"+address+"')");
st.setText(query.lastError().databaseText());
st.exec();
}
return res;

Код:
bool res;
QSqlQuery query;
if(!db.open()){
return 1;
st.setText(db.lastError().databaseText());
st.exec();
}
else{
res = query.exec("INSERT INTO CLIENTS VALUES('"+name+"', '"+surname+"', '"+patronymic+"', '"+dateOfBirthday+"', '"+address+"')");
st.setText(query.lastError().databaseText());
st.exec();
}
return res;

Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #1 : Январь 14, 2010, 08:51 »

Потому что в первых двух случаях БД открывается до создания QSqlQuery ,а в последнем сначала создается QSqlQuery ,а потом открывается БД и получается что QSqlQuery грубо говоря не имеет ссылку на объект для работы с БД Улыбающийся 
Записан
lokoArt
Гость
« Ответ #2 : Январь 14, 2010, 09:02 »

ААА!!! Спасибо большое))) Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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