Здравствуйте, гость ( Вход | Регистрация )
|
grio |
16.1.2010, 15:27
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 87 Регистрация: 11.11.2009 Пользователь №: 1221 Спасибо сказали: 6 раз(а) Репутация: 0
|
Делаю форму поиска пользователей, в которой один пользователь может ссылаться на другого. Но если использую одновременно setRelation и setFilter то результат - пустая таблица. Как можно выйти из положения? У меня нет задачи редактировать таблицу, нужно лишь отображать данные. |
|
|
|
![]() |
|
MoPDoBoPoT |
16.1.2010, 18:06
Сообщение
#2
|
|
Участник ![]() ![]() Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9
|
Странно. Может запрос (без реляции) возвращает пустую таблицу? Или может в описании таблицы БД у не указано то, что поле с номером 13 (не знаю какое название) таблицы users является внешним ключом, ссылающимся на поле UID этой же таблицы?
Ну а вообще, только для чтения можно воспользоваться классом QSqlQueryModel: || - операция конкатенации строк в Oracle В setQuery можно было бы сразу записать текст запроса, но с подготовленным (prepared) запросом имеем более оптимизированное решение (если конечно СУБД поддерживает это). |
|
|
|
|
grio |
16.1.2010, 19:27
Сообщение
#3
|
![]() Студент ![]() Группа: Участник Сообщений: 87 Регистрация: 11.11.2009 Пользователь №: 1221 Спасибо сказали: 6 раз(а) Репутация: 0
|
Цитата(MoPDoBoPoT @ 16.1.2010, 18:06) Link Странно. Может запрос (без реляции) возвращает пустую таблицу? Или может в описании таблицы БД у не указано то, что поле с номером 13 (не знаю какое название) таблицы users является внешним ключом, ссылающимся на поле UID этой же таблицы? Использую базу SQLITE. Запрос с пустым значением LIKE возвращает всю таблицу целиком (как *) Отдельно setFilter работает без вопросов, если закомментировать строку setRelation. И наоборот, setRelation работает отлично, если setFilter закомментирован. Действительно, 13 поле содержит одно из значений поля UID той же таблицы (users). QSqlQueryModel в данном случае не подходит т.к. нужно подменить значение 13 столбца именем пользователя из тойже таблицы. Если есть идеи как это реализовать через QSqlQueryModel, тогда вариант вполне годится. |
|
|
|
grio QSqlRelationalTableModel, как подружить setRelation и setFilter? 16.1.2010, 15:27
Litkevich Yuriy Цитата(grio @ 16.1.2010, 22:27) QSqlQuery... 16.1.2010, 20:08
MoPDoBoPoT Самое главное я забыл для чего все это нужно было ... 16.1.2010, 20:14
grio Цитата(MoPDoBoPoT @ 16.1.2010, 20:14) que... 16.1.2010, 22:41
MoPDoBoPoT Те же яйца только в профиль
Просто я забыл алиас ... 17.1.2010, 0:10
grio Цитата(MoPDoBoPoT @ 17.1.2010, 1:10) Те ж... 17.1.2010, 8:45![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 31.12.2025, 15:02 |