Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.19;
Скачать: CL | DM;

Вниз

определение длины поля запроса   Найти похожие ветки 

 
smok_er   (2002-11-27 12:28) [0]

Уважаемые!
Есть ли возможность определить сабж?
Дело в том, что хочу выводить результат запроса в мемо с указанием заголовков. Но происходит большое смещение, причем угадывать его постоянно для разных запросов невозможно.


 
passm ©   (2002-11-27 13:42) [1]

smok_er (27.11.02 12:28)> Вероятность ответа на вопрос будет выше, если указать СУБД.


 
smok_er   (2002-11-27 13:55) [2]

Хм... странно.
Я поставил checkbox на Oracle. Видать что-то проглючило :(


 
passm ©   (2002-11-27 14:25) [3]

smok_er (27.11.02 13:55)> Работаю с DB2 но, думаю, что подобное есть и в Oracle.
Есть системный VIEW SYSCAT.COLUMNS. И там поле AVGCOLLEN. Попробуй поискать.


 
smok_er   (2002-11-27 17:37) [4]

А подробнее не можете объяснить?
Вы скорее всего не так поняли.
Я имею ввиду длину каждого поля. Т.е. к примеру, DBGrid при добавлении поля сам опреляет его длину. Мне нужно тоже самое.


 
passm ©   (2002-11-27 18:12) [5]

smok_er (27.11.02 17:37)> ИМХО, DBGrid ориентируется на TField.Size.
А что касается, SYSCAT.COLUMNS, то да, в твоем случае действительно не подойдет. Но, все же, объясню, что имел ввиду:
В СУБД имеются системные таблицы/просмотры, откуда можно почерпнуть достаточно много информации о БД. В частности, о столбцах всех таблиц и просмотров все можно узнать сделав запрос к просмотру SYSCAT.COLUMNS. Напрмер:
SELECT C.COLNAME, C.LENGTH, C.DEFAULT (и многое др.)
FROM SYSCAT.COLUMNS C
WHERE C.TABSCHEMA = "DB2ADMIN"
AND C.TABNAME = "AFFILIATE"
Получаем информацию о столбцах конкретной таблицы/просмотра.
Но в твоем случае это не подойдет, т. к. необходима информация о столбцах запроса и в общем случае из БД этого не почерпнешь.
Извини, если ввел в заблуждение.
Я бы ориентировался на TField.Size.


 
smok_er   (2002-11-27 19:40) [6]

Огромнейшее спасибо за совет!


 
smok_er   (2002-11-27 20:08) [7]

Не, для текстовых полей выдает, а для Number, datetime и может быть чего еще (не проверял) выдает ноль :(


 
ЮЮ ©   (2002-11-28 03:14) [8]

>Дело в том, что хочу выводить результат запроса в мемо с указанием заголовков. Но происходит большое смещение, причем угадывать его постоянно для разных запросов невозможно.

Если уж не нравится DBGrid, то используй хотя бы StringGrid, зачем с Мемо-то изврашаться?


 
smok_er   (2002-11-28 10:06) [9]

Да дело в том, что мемо удобнее тем, что в него можно закинуть результат выполнения сразу нескольких запросов.
К примеру запустил на выполнение запросов 50 и ушел. После этого открываешь файло в экселе и все классно видно, а главное - в одном файле.


 
Sergey13 ©   (2002-11-28 10:26) [10]

2smok_er (28.11.02 10:06)
Как только люди не извращаются. 8-)
Для Оракла те системные таблицы user_tables и user_tab_columns.


 
ЮЮ ©   (2002-11-29 03:17) [11]

>К примеру запустил на выполнение запросов 50 и ушел. После этого открываешь файло в экселе и все классно видно, а главное - в одном файле.

Тогда разделяй поля символом Tab (#9), а не выравниванием


 
smok_er   (2002-11-29 12:59) [12]

>Как только люди не извращаются. 8-)
Да уж, хотя идея не моя, но очень мне понравилась :)

Попробую с системными таблицами поработать, если не получится, то использую вариант "ЮЮ"

Огромное вам всем спасибо за ответы!



Страницы: 1 вся ветка

Текущий архив: 2002.12.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
3-61424
Yury
2002-11-29 09:52
2002.12.19
Заработная плата


1-61588
Balu
2002-12-10 11:43
2002.12.19
RE(2) Разное поведение Variant в D5 и D6


1-61610
Ag2002
2002-12-06 16:06
2002.12.19
Значки


3-61467
smok_er
2002-11-27 12:28
2002.12.19
определение длины поля запроса


1-61628
z27
2002-12-06 17:24
2002.12.19
Квадратный корень