Форум: "Базы";
Текущий архив: 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.008 c