![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему такие прблемы? [D5, dBase, FoxPro]
Oxy © (2002-11-28 10:14:00)Есть таблица созданная Клиппером. В ней есть текстовое поле длинной 255 символов. И вот TQuery не хочет с ней работать. Foxpro тоже с ней работать не хочет. Но если урезать это поле до 254 символов, то все прблемы сразу снимаются. И TQuery и Foxpro тогда работают с этой таблицей без проблем.
Oxy (2002-11-28 15:06:00) [1]Упорядочить данные нужно по 2 полям. Поэтому то и используется Query.
Леван (2002-11-28 15:04:00) [2]mojno pomoch
prisilai pustuoi dbf (tolko structuru) i skaji, kakoe pole nado raschlenit
napishu malenkuiu progu na clippere, kotoraia delit eto pole na dve chasti menshei dlini i prishliu ee
kajddii raz zaustish etu progu i potom budesh obrabativat
etu tablicu
udachi
Levan
stone (2002-11-28 14:53:00) [3]2 Oxy © (28.11.02 14:47)
Два датасета мастер-детэил на одну таблицу
При нужных индексах работает без проблем
Oxy (2002-11-28 14:47:00) [4]2 2 MityaKost ©
А фильтровать не получится. Таблица очень большая, порядка 50 Мб. Фильтрация в TTable занимает минут 15-20.
Oxy (2002-11-28 12:59:00) [5]2 stone ©
С Адо проблемы. Она не хочет отображать нормально мою таблицу. Моя таблица в кодировке DOS с русскими строками. В TADOQuery dо всех строчках некоторые буквы заменяются на другие причем без какой либо системы. Тоесть это не перекодировка DOS-ANSI.
2 MityaKost ©
Мне надо выбрать из таблицы все записи с одним конкретным значением в одном конкретном поле. Но дело не в запросе. Любой запрос TQuery к этой таблице выдает ошибку.
MityaKost (2002-11-28 11:15:00) [6]Опс, поправочка (я думал и в TTable не выводится). А если использовать TTable с фильтрацией и связать, если надо с другим DataSet-ом (тем же TQuery) тоже ведь
можно :). Может быть получится сваять замену твоему TQuery по
функциональности ? Можешь запрос-то показать?
stone (2002-11-28 11:12:00) [7]2 Oxy © (28.11.02 10:56)
Попробуй использовать АДО.
MityaKost (2002-11-28 10:59:00) [8]Если не имеешь возможности изменить структуру таблицы,
(мало ли может чужая программа, база и т.д.), тогда
только искать соотв. компоненты (может Halcyon или Apollo поможет, я ими правда не пользовался, может другие подскажут) или писать самому. Могу подсказать только что там фича в разборе заголовка таблицы, в частности описания полей... Если пойдешь по пути написания собственной библиотечки то советую поискать
книжку "Рик Спенс. Clipper 5.0". Там хорошо внутренняя структура
таблиц и индексов описана
Oxy (2002-11-28 10:56:00) [9]Имеет. Там все 255 символов заняты. Если урезать до 254, то могут потеряться данные.
Дело в том, что саму прогу на клиппере писал не я. Она работает и переписывать ее никто не собирается. А мне надо из под делфы использовать данные, которые есть в таблицах этой клипперовской проги. Но стандартный TQuery ее не понимает, а TTable, почему то, спокойно читает данные. Но у TTable нет возможности задавать SQL запрос.
stone (2002-11-28 10:45:00) [10]
> Но если урезать это поле до 254 символов, то все прблемы
> сразу снимаются. И TQuery и Foxpro тогда работают с этой
> таблицей без проблем.
Почему бы именно так и не поступить? Или 1 символ имеет важное значение?
Oxy (2002-11-28 10:37:00) [11]Спасибо, а то замаялся я совсем с этой проблемой. Что не пробую все не работает. Думал что это я чего то глючу.
А как можно решить эту проблему? Мне надо сделать SQL запрос к этой таблице из под делфы. А TQuery не работает с ней.
MityaKost (2002-11-28 10:26:00) [12]Это нестандартная фича Clipper-а. Она не соответствует
формату DBF от DBase III+ или DBase IV - там текстовое
поле имеет макс длинну 254 символа (в документации по
Клипперу об этом сказано). За счет этого у Клипперовских
баз (начиная по крайней мере с 5 версии) была возможность
создавать текстовые поля размерами до 64533 символа..., что
было заменой мемо-полям. Естественно, кроме Клиппера этой
фичи никто поддерживать не обязан.