Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ado driver problem / 7 сообщений из 7, страница 1 из 1
06.06.2005, 15:12
    #33102784
Denissio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ado driver problem
Столкнулся с такой проблемой:

прикручиваю в C++ билдере postgresql через ODBC DSN, вывожу данные типа
varchar в дб-грид - все ОК.
Делаю тоже самое напрямую через ADO драйвер, входящий в комплект
postgres'a - получаю вместо строчек в гриде - надпись (MEMO)

Подскажите, как с этим бороться? Может драйвер АДО другой есть?


Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
06.06.2005, 16:35
    #33103062
AntonIgg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ado driver problem
Есть вариант, но он немножко кривоват.
Если ничего другое не поможет, то воспользуйся им.

Вешаешь обработчик на событие OnDrawColumnCell у грида и рисуешь там сам, обычно DrawText.
...
Рейтинг: 0 / 0
06.06.2005, 16:52
    #33103117
Denissio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ado driver problem
"AntonIgg" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:1600228@sql.ru...
> Есть вариант, но он немножко кривоват.
> Если ничего другое не поможет, то воспользуйся им.
>
> Вешаешь обработчик на событие OnDrawColumnCell у грида и рисуешь там
> сам, обычно DrawText.
>

Попробую, хотя не хотелось бы влезать туда...
Мне кажется, что глюк где-то в драйвере, что из него приходит не в том типе
данных (Ведь в случае с ODBC все нормально преобразуется). Я пробовал
запихивать в DBMemo, там все нормально отображается. Выходит, что надо
как-то отловить момент получения данных и преобразовать к строке, только
пока не понятно как это сделать и где.


Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
07.06.2005, 05:29
    #33103769
фффф
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ado driver problem
Драйвер лучше не крутить.
Если не хочешь писать OnDrawColumnCell или переписывать наследника DBGrid - можно использовать DBGridEh (EhLib). Там есть свойство-переключатель для показа Memo в табличке. Кстати, и высоту строк можно менять для многострочного текста.

Ну и ещё вариант, если текстовые поля не длинные - кастить каждое поле из text в varchar в запросе. Тогда текст будет отображаться и в DBEdit.
...
Рейтинг: 0 / 0
07.06.2005, 07:30
    #33103815
ChameLe0n
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ado driver problem
bpchar(varchar_field)
...
Рейтинг: 0 / 0
08.06.2005, 00:48
    #33106178
Denissio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ado driver problem
> Драйвер лучше не крутить.
> Если не хочешь писать OnDrawColumnCell или переписывать наследника
> DBGrid - можно использовать DBGridEh (EhLib). Там есть
> свойство-переключатель для показа Memo в табличке. Кстати, и высоту строк
> можно менять для многострочного текста.
>
> Ну и ещё вариант, если текстовые поля не длинные - кастить каждое
> поле из text в varchar в запросе. Тогда текст будет отображаться и в
> DBEdit.
> Тема Ответить
>

Спасибо за совет! Поставил DBGridEh - приятная штучка. Установка свойства
DrawMemoText = true и вся проблема решилась.

Простите за ламерский вопрос, а как в запросе кастить text в varchar? Или
имелось в виду кастить уже результат в билдере?


Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
08.06.2005, 07:55
    #33106272
nig_AM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ado driver problem
select afield_mymemo::varchar(30) as "мое преобразованное поле"
--но только желатьленио индекс прикрутить функционалльный по этому полю чтобы производительность не падала
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ado driver problem / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]