Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
1-61590
Александр Крюков
2002-12-06 22:23
2002.12.19
Помогите ламеру в простейшем вопросе! Пожалуйста... :)


6-61736
Lex_!
2002-10-09 04:47
2002.12.19
Чат без сервера


3-61434
SuMaga
2002-11-28 19:38
2002.12.19
Firebird ?


1-61578
D.V.K
2002-12-10 07:31
2002.12.19
Компонент типа ListView, но выделяющий целую строку как ListBox


1-61596
Maxim_
2002-12-08 22:43
2002.12.19
TListView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский