Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как отобразить в DBGrid в виде String поля типа VARCHAR2 (Oracle) [D6, Oracle]


stur ©   (2002-10-08 14:47:00) 

Как отобразить в DBGrid в виде String поля типа VARCHAR2 (Oracle). Чтобы в таблице было не Memo, а текст.


Blondin   (2002-10-09 14:46:00) [1]

Обрабатывай у ДБГрида свойство OnDrawColumnCell
и выводи там Query1.FieldByName("EmpChar1_05").AsString
и все будет ок


stur   (2002-10-09 12:15:00) [2]

И всё таки. Как в SQL запрос включить преобразование типа поля?

К примеру пишу SQL запрос
select EmpChar1_05 from Empтип поля VARCHAR2(256)
В DBGRID отображается как MEMO

Строка кода преобразовывает правильно
Label1.Caption := Query1.FieldByName("EmpChar1_05").AsString;

Можно ли такое же преобразование делать в SQL запросе?


Desdechado   (2002-10-09 11:48:00) [3]

БДЕ строки больше 255 понимает как мемо, и ничего тут, видимо, не сделаешь


Sergey13   (2002-10-09 10:26:00) [4]

2stur © (08.10.02 14:47)
>Как отобразить в DBGrid в виде String поля типа VARCHAR2 (Oracle).
Дык так и отображай напрямую. Что мешает то? Чему у тебя Oracle равен 8-), размерность поля какая? Помнится там макс 4000 можно, а в string до 2Г загнать можно. Так что проблем быть не должно.

>Чтобы в таблице было не Memo, а текст.
А по каким критериям ты это оцениваешь?

>Тип данных VARCHAR в настоящее время является синонимом типа данных VARCHAR2
В принципе верно. Но VARCHAR хранит строго определенное число символов(добавляя недостающие пробелами)а VARCHAR2 хранит ТОЛЬКО значимую часть.

>Для достура используется компонент Table
И наверное BDE. ИМХО тут то собака и порылась.


stur   (2002-10-08 16:29:00) [5]

Что не совсем корректно, это понятно...


passm   (2002-10-08 15:37:00) [6]

stur © (08.10.02 15:32)> Ясно. Надеюсь, ты понимаешь, что применять TTable тут некорректно.
Создай просмотр в базе на данную таблицу с приведением поля в нужный тебе вид. И "направь" TTable на него.


stur   (2002-10-08 15:32:00) [7]

Как пишут...Тип данных VARCHAR в настоящее время является синонимом типа данных VARCHAR2. Однако в будущей версии ORACLE тип данных VARCHAR будет хранить строки символов переменной длины с иной семантикой сравнения. Поэтому используйте тип данных VARCHAR2 для символьных строк переменной длины.

Дело в том, что для доступа к базе я не использую SQL запросы в явной форме. Для достура используется компонент Table. И как ко всему этому прикрутить запрос мне не понятно..


Reindeer Moss Eater   (2002-10-08 15:29:00) [8]

Используя Substrполучай первые 254 символа текстового поля


passm   (2002-10-08 15:07:00) [9]

CAST - приведение к другому типу.
Например, есть таблица TABLE1 и в ней поле FIELD1 типа VARCHAR2. (А что это за тип?)
Пишешь запрос:
SELECT CAST(T1.FIELD1 AS VARCHAR(128)) AS VAR_FIELD1
FROM TABLE1 AS T1


stur   (2002-10-08 15:01:00) [10]

А чуточку поподробней...
Мне не понятно как использовать CAST и куда его прописывать.


passm   (2002-10-08 14:52:00) [11]

Попробуй CAST(ля-ля AS VARCHAR(столько-то))


Наверх

Титульная страница Поиск, карта сайта Написать письмо