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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Неверный тип при чтении ключа из БД  (Прочитано 3450 раз)
Freackle
Гость
« : Октябрь 16, 2011, 19:48 »

Здравствуйте!
У меня ошибка при чтении ключей

query->prepare("select S_Key from `subject` where S_Name=:S_Name;");
   query->bindValue(":S_Name", Sub);
   query->exec();
   int size =query->size(); //размер 1, тоесть он выбирает нужное мне значение.
   int lol=query->value(0).userType(); //QVariant Invalid не читает его.
   int ololo=query->value(0).toInt(); //Соответственно, записывает сюда ноль.

В базе ключи записаны как INT(10) NOT NULL AUTO_INCREMENT, PRIMARY KEY.
Помогите, пожалуйста.
Записан
BuRn
Гость
« Ответ #1 : Октябрь 16, 2011, 20:16 »

точно не могу сказать, но мб попробовать
while(query.next())
{
 ... твои присваивания
}
Записан
Freackle
Гость
« Ответ #2 : Октябрь 16, 2011, 20:34 »

У меня ведь всего одна запись выбирается, я пройду этот цикл один раз. И само это значение оно выбирается, он просто не понимает его тип почему-то.
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #3 : Октябрь 16, 2011, 21:29 »

Все таки стоит слушать советы и читать документацию.

Все- таки next() сделать требуется, чтобы прочитать первую запись и так далее

For example:
     QSqlQuery query("SELECT country FROM artist");
     while (query.next()) {
         QString country = query.value(0).toString();
         doSomething(country);
     }
Записан
Freackle
Гость
« Ответ #4 : Октябрь 16, 2011, 21:48 »

Простите, спасибо вам большое.
Записан
Странник
Гость
« Ответ #5 : Октябрь 16, 2011, 23:35 »

для одной записи можно first() использовать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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