![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отобразить в 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(столько-то))