Проблема с запросом SELECT., Не возвращается результат запроса, хотя должен бы... |
Здравствуйте, гость ( Вход | Регистрация )
Проблема с запросом SELECT., Не возвращается результат запроса, хотя должен бы... |
bayah |
7.6.2010, 15:13
Сообщение
#1
|
Студент Группа: Участник Сообщений: 31 Регистрация: 23.11.2009 Пользователь №: 1249 Спасибо сказали: 0 раз(а) Репутация: 0 |
Возможно я сошел с ума, но...
Есть таблица.
Таблица, к примеру, заполнена значениями: CODE_D NAME_D 1 alpha 2 beta 3 gama Дальше я делаю запрос:
Если же пытаюсь сделать наоборот - по имени получить код, ничего не выходит:
query.next() возвращает false. Я что-то не понимаю видимо? |
|
|
kibsoft |
7.6.2010, 15:51
Сообщение
#2
|
Участник Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: 2 |
Цитата query.exec("SELECT NAME_D FROM DIST WHERE CODE_D = "+id+";"); query.next(); QString a = query.value(0).toString(); query.next() попробуй заменить на query.first(). |
|
|
bayah |
7.6.2010, 15:59
Сообщение
#3
|
Студент Группа: Участник Сообщений: 31 Регистрация: 23.11.2009 Пользователь №: 1249 Спасибо сказали: 0 раз(а) Репутация: 0 |
Все ясно, разобрались.
Проблема была в том что строка запроса должна была выглядеть так:
Для этого в QT это должно было выглядеть так:
Всем спасибо за внимание._) |
|
|
MoPDoBoPoT |
7.6.2010, 18:31
Сообщение
#4
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
query.exec("SELECT CODE_D FROM DIST WHERE NAME_D = '"+name+"'"); Лучше использовать QSqlQuery::prepare() + QSqlQuery::bindValue() + QSqlQuery::exec(), чем QString::arg() + QSqlQuery::exec(). При использовании подготовленных запросов: - Исключается возможность SQL-инъекций - Оптимизицация по скорости выполнения запроса на стороне СУБД (в случае, когда используются однообразные запросы - меняются только значения в условии WHERE), но это когда СУБД и драйвер поддерживают |
|
|
Litkevich Yuriy |
7.6.2010, 19:03
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 22.12.2024, 19:10 |