Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2007, 15:17   #1
JordanS
Пользователь
 
Регистрация: 28.08.2007
Сообщений: 10
По умолчанию SQl и поля с длино более 255 символов

Приветствую, уважаемые эксперты!
у меня такая ситуация: имеется файл dbf, в составе полей которого есть поле с длиной более 255 ( так уж заложено у разработчиков).
При запросе SQL информации по полю следующему за длинным почему то выводится пустая информация, хотя я знаю, что данные там есть.
Каким образом можно вытащить эти данные - естественно с помощью SQL

Заранее спасибо за ответ
JordanS вне форума Ответить с цитированием
Старый 29.08.2007, 08:59   #2
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от JordanS Посмотреть сообщение
Приветствую, уважаемые эксперты!
у меня такая ситуация: имеется файл dbf, в составе полей которого есть поле с длиной более 255 ( так уж заложено у разработчиков).
При запросе SQL информации по полю следующему за длинным почему то выводится пустая информация, хотя я знаю, что данные там есть.
Каким образом можно вытащить эти данные - естественно с помощью SQL

Заранее спасибо за ответ
ну , в Paradox тип поля Memo - єто больше 255 байт ....Если размер до 254, то информация хранитсяв самой таблице, если больше, то в файле с расширением .MB.
в Dbase тоже.
Можно использовать поля типа OLE,однако наполнять их можно только в приложении. Delphi напрямую не умеет работать с OLE-полями,но это обходится путем использования потоков.
В InterBase Char имеет размер 0-32767 .
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 29.08.2007, 13:42   #3
JordanS
Пользователь
 
Регистрация: 28.08.2007
Сообщений: 10
По умолчанию

Мемо файлов нет, есть только один dbf.
Вопрос не в том, как проектировать поля, а в том как вытащить информацию из существующей БД с помощью SQL.

Решения пока не нашел.

Если только перебирать записи с помощью компонента Halcyon, но это долгий и некрасивый путь.
JordanS вне форума Ответить с цитированием
Старый 29.08.2007, 16:52   #4
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Совсем не понял вопроса...
select ПОЛЕ from ТАБЛИЦА where....
Прекрасно работает...
Кстати, проверь тип поля.. Может там не fkData, а fkCalculated стоит.

Последний раз редактировалось _SERGEYX_; 29.08.2007 в 16:54.
_SERGEYX_ вне форума Ответить с цитированием
Старый 30.08.2007, 11:46   #5
JordanS
Пользователь
 
Регистрация: 28.08.2007
Сообщений: 10
По умолчанию

БД dBaseIV, тип поля Character длина 625 символов, как умудрились разработчики это сделать не знаю, а select работает только не показывает информацию в полях, следующих за этим длинным полем. Вот так.
JordanS вне форума Ответить с цитированием
Старый 31.08.2007, 05:55   #6
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Цитата:
Сообщение от JordanS Посмотреть сообщение
Приветствую, уважаемые эксперты!
у меня такая ситуация: имеется файл dbf, в составе полей которого есть поле с длиной более 255 ( так уж заложено у разработчиков).
При запросе SQL информации по полю следующему за длинным почему то выводится пустая информация, хотя я знаю, что данные там есть.
Каким образом можно вытащить эти данные - естественно с помощью SQL

Заранее спасибо за ответ
JordanS, у вас не стандартный dbf, а специальный файл с похожей на dbf структурой.

В стандартном dbf длина поля не может превышать 255 символов так как на описание длины поля выделяется всего один байт. У меня случайно завалялась инфа по структуре dbf.

IMHO: нормально работать с этим файлом стандартные обработчики dbf файлов не будут. Вся информация в полях, находящихся после этого длинного поля будет смещена. Вам потребуется написать собственный обработчик для этого файла.
Вложения
Тип файла: txt Stru_Dbf.txt (2.1 Кб, 148 просмотров)
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 31.08.2007, 08:46   #7
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от Andrei Посмотреть сообщение
JordanS, у вас не стандартный dbf, а специальный файл с похожей на dbf структурой.

В стандартном dbf длина поля не может превышать 255 символов так как на описание длины поля выделяется всего один байт. У меня случайно завалялась инфа по структуре dbf.

IMHO: нормально работать с этим файлом стандартные обработчики dbf файлов не будут. Вся информация в полях, находящихся после этого длинного поля будет смещена. Вам потребуется написать собственный обработчик для этого файла.
как єто нестандартній DBF? Обїясните плиз....Я такого еще не слішал....Как он создается?
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 31.08.2007, 09:55   #8
JordanS
Пользователь
 
Регистрация: 28.08.2007
Сообщений: 10
По умолчанию 2Andrei

Спасибо за инфу!
Вот что интересно - программы dbu.exe и dbview.exe открывают БД без вопросов - все читаемо.

Что ж остается использовать Halcyon дабы не привлекать BDE.
Еще раз спасибо!
JordanS вне форума Ответить с цитированием
Старый 31.08.2007, 12:44   #9
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Halcyon - штука неплохая, но без поддержки sql работать несерьезно.
Я для работы с dbf давно юзаю Advantage TDatset Descendant. Крутая вещь. Правда, дистр весит 10 метров. Лежит здесь, если нужно.
_SERGEYX_ вне форума Ответить с цитированием
Старый 31.08.2007, 12:51   #10
JordanS
Пользователь
 
Регистрация: 28.08.2007
Сообщений: 10
По умолчанию

Чтож посмотрим
JordanS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СЧЁТЕСЛИ по 2 и более критериям Gadar Microsoft Office Excel 6 27.05.2008 09:25
Более 4 миллиардов MAKTE Общие вопросы C/C++ 2 16.05.2008 20:11
stringgrid поместить строку более 255 символов SeЯgey Помощь студентам 2 07.05.2008 16:41
тип поля для хранения текста > 255 символов komex БД в Delphi 4 23.09.2007 12:38
массивы более 64 кб Alar Паскаль, Turbo Pascal, PascalABC.NET 1 30.10.2006 14:25