Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
4 / 4 / 4
Регистрация: 20.03.2015
Сообщений: 147
1

Widememo и FireDAC

27.11.2017, 10:37. Показов 5084. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Использую FireDAC. База данных PostgreSQL. Если тип колонки в базе TEXT, то в гриде вместо текста пишет WIDEMEMO. Хотелось бы увидеть текст.
Для FireDAC мною найдено два способа как это обойти:
1. Через возможность мапинга в FireDAC:
https://forums.embarcadero.com... eID=691725
2. Также была найдена информация, что создатель FireDAC Дмитрий Арефьев пишет, что можно также просто установить
TBlobField.DisplayValue
Тут описание:
http://docwiki.embarcadero.com... splayValue

Первый способ у меня не получился т.к. попытка такого мапинга:
В MapRules ставлю:
SourceDataType=dtWideMemo
TargetDataType=dtAnsiString
Получаю ошибку [FireDAC][Stan]-19. Data type conversion is not supported.
С++ Builder Berlin
К тому же Stringformat=Ansi это для SQLite. Для PostgreSQL этого свойства в опциях соединения FDConnection1 не найдено.

Второй способ не получился т.к. в редакторе полей у FDQuery1 у конкретного поля в инспекторе объектов нет DisplayValue.
Может это связано с тем, что база данных PostgreSQL? Но думаю основная причина моя тормознутость.

Подскажите, пожалуйста как с FireDAC отобразить в гриде содержимое WIDEMEMO.
Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2017, 10:37
Ответы с готовыми решениями:

DBGridEh и WideMemo
Мне надо вывести текст определенных ячеек DBGridEh, но выводится всегда (WideMemo), с другими...

В DBGrid выводит WideMEMO
При отображении данных в DBGrid поле с типом данных TEXT выводится строка WideMemo. Как быть чтобы...

(WIDEMEMO) SQLite and DBGrid
Здравствуйте, использую БД SQLite и FireDAC . Вывожу данные через FDConnection , FDQuery ,...

WideMemo в DbGrid на текущей записи
Кто знает как решить проблему с WideMemo в dbGrid, когда указатель на текущей строке? Как в целом...

4
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
27.11.2017, 22:01 2
Вывод данных поля БД в memo
1
4 / 4 / 4
Регистрация: 20.03.2015
Сообщений: 147
28.11.2017, 14:18  [ТС] 3
Спасибо, эту тему знаю. Просто хотелось воспользоваться тем, что дает сама FireDAC, которую многие хвалят за возможности, но у меня что-то не получается разобраться...
0
4 / 4 / 4
Регистрация: 20.03.2015
Сообщений: 147
01.12.2017, 10:40  [ТС] 4
Лучший ответ Сообщение было отмечено volvo как решение

Решение

Решение для FireDAC найдено:
1. Если до этого были добавлены поля в FDQuery, то удалить их, чтобы затем они сами пересоздались при запросе.
2. Сделать маппинг в свойстве соединения:
TFDConnection.FormatOptions.MapRules (SourceDataType = dtWideMemo, TargerDataType = dtWideString).
1
0 / 0 / 0
Регистрация: 10.06.2017
Сообщений: 2
28.06.2020, 11:15 5
Шёл 2020 год, а проблема widememo всё еще существовала.
Форматированное решение silvalena's :

Delphi
1
2
3
4
with FDConnectionLog.FormatOptions.MapRules.Add do begin
     SourceDataType := dtWideMemo;
     TargetDataType := dtWideString;
  end;
0
28.06.2020, 11:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.06.2020, 11:15
Помогаю со студенческими работами здесь

FireDAC Query
Всем доброго дня. Вопрос в следующем: Когда прописываю в FireDAC Query Editor SELECT * FROM ...

FireDac, FDquery
Уважаемые форумчане. Начинаю пробовать писать СУБД FireDac + postgresql. Дилетантский вопрос. Какие...

FireDac (Зависимости)
Добрый день! Планируется написание некого лаунчера. С внедрением компонентов "FireDac" ...

FireMonkey и FireDac
Всем снова Здравствуйте Уважаемые программисты и знающие люди! Снова возникли вопросы. Коннект к...

FireDAC+Firebird 2.5
Люди добрые, помогите пожалуйста. Сел разбираться с FireDAC, не могу подключиться к базе на...

FireDac и MySQL
Всем добрый день. Поясните пожалуйста один момент. 1. DB: MySQL InnoDB 2. Подключение через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru