![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
grio |
![]() ![]()
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 87 Регистрация: 11.11.2009 Пользователь №: 1221 Спасибо сказали: 6 раз(а) Репутация: ![]() ![]() ![]() |
Делаю форму поиска пользователей, в которой один пользователь может ссылаться на другого. Но если использую одновременно setRelation и setFilter то результат - пустая таблица. Как можно выйти из положения? У меня нет задачи редактировать таблицу, нужно лишь отображать данные. |
|
|
![]() |
MoPDoBoPoT |
![]()
Сообщение
#2
|
Участник ![]() ![]() Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: ![]() ![]() ![]() |
Странно. Может запрос (без реляции) возвращает пустую таблицу? Или может в описании таблицы БД у не указано то, что поле с номером 13 (не знаю какое название) таблицы users является внешним ключом, ссылающимся на поле UID этой же таблицы?
Ну а вообще, только для чтения можно воспользоваться классом QSqlQueryModel:
|| - операция конкатенации строк в Oracle В setQuery можно было бы сразу записать текст запроса, но с подготовленным (prepared) запросом имеем более оптимизированное решение (если конечно СУБД поддерживает это). |
|
|
grio |
![]()
Сообщение
#3
|
![]() Студент ![]() Группа: Участник Сообщений: 87 Регистрация: 11.11.2009 Пользователь №: 1221 Спасибо сказали: 6 раз(а) Репутация: ![]() ![]() ![]() |
Странно. Может запрос (без реляции) возвращает пустую таблицу? Или может в описании таблицы БД у не указано то, что поле с номером 13 (не знаю какое название) таблицы users является внешним ключом, ссылающимся на поле UID этой же таблицы? Использую базу SQLITE. Запрос с пустым значением LIKE возвращает всю таблицу целиком (как *) Отдельно setFilter работает без вопросов, если закомментировать строку setRelation. И наоборот, setRelation работает отлично, если setFilter закомментирован. Действительно, 13 поле содержит одно из значений поля UID той же таблицы (users). QSqlQueryModel в данном случае не подходит т.к. нужно подменить значение 13 столбца именем пользователя из тойже таблицы. Если есть идеи как это реализовать через QSqlQueryModel, тогда вариант вполне годится. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 11.3.2025, 17:12 |