![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Впервые использую DBE пара может быть глупых вопросов [D7, dBase, FoxPro]
ceval © (2004-10-23 13:42:00)Впервые использую DBE пара может быть глупых вопросов
1) А обязательно в DBE делать alias ?
а возможен такой вариант - кинуть на форму Table,DataSource,DBgrid связать их
у Table1.TableName='путь к файлу'
2)Подскажите как подключить индекстный файл при использывании
DBE
Раньше использывал ADO (у меня все нормально шло
ADOTable1.IndexFieldNames:='odc;oic';
ADOTable1.TableName:='ktcp';
ADOTable1.Active:=true;)
Как сделать это в DBE ? В дизайн-тайме тоже не выходит :(
Val (2004-10-27 17:15:00) [1]>[8] Ильш (26.10.04 12:36)
..вы просто не умеете их готовить ©
Перед сносом винды базы, скажем, сохранить додумались, а конфигурационный файл бде - нет? Не стоит выносить столь категоричных вердиктов.
DSKalugin (2004-10-27 16:31:00) [2]table.Indexfiles.Add('ktcpind.cdx');
ceval (2004-10-27 16:16:00) [3]Вообщем пошел другим путем. Нашел Halcyon,поставил себе
В дизайн-тайм задал DatabaseName:='u:\dbf'
TableName:='ktcp';
в свойствах IndexFiles добавил ktcpind.cdx
и наконец-тов IndexName появились индексы и все нормально работает
вот что я хотел получить в BDE
Теперь у меня возник другой вопрос
КАК ЭТО СДЕЛАТЬ ПРОГРАМНО ?
пишу
table.DatabaseName:='u:\dbf';
table.TableName:='ktcp';
table.Indexfiles:='u:\dbf\ktcpind.cdx';
-выдает ошибку Incompatible types: 'TStrings' and 'String'
table.indexName:='izd';
table.Active:=true;
DSKalugin (2004-10-27 13:17:00) [4]Блин, да что же за проблема такая таблицу открыть.
Высылай мне ее на почту (только пустую! :-))
DSKalugin@rambler.ru
Anatoly Podgoretsky (2004-10-27 11:04:00) [5]Так в том же ДБД посмотри какие индексы есть, может из вообще нет.
ceval (2004-10-27 10:15:00) [6]>Раз ДБД открывает, то остается только ошибки в твоей программе >и ДБД и твоя программа пользуются тем же самым БДЕ.
Так таблица у меня открывается в программе, но как открыть ее с индексом мне нужно сделать упорядочение т.е упорядочиние по детали (идекс odcc) и так далее
Table1.TableName:='ktcp';
Table1.IndexName:='odcc';
Table1.Active:=true; пишет 'Table1:Index does not exist:kod ';
Anatoly Podgoretsky (2004-10-27 09:52:00) [7]Это ты просто неправильно с АДО работаешь, открывается точно также быстро, только правильно надо настроить свойства компонент доступа, в отличии от БДЕ там более гибко.
Раз ДБД открывает, то остается только ошибки в твоей программе и ДБД и твоя программа пользуются тем же самым БДЕ.
ceval (2004-10-27 09:15:00) [8]Если я правельно понал DBD - это Database Desktop.
там dbf-файл нормально открывается
>то у тебя неверно установлены свойства в программе..
Table - DatabaseName=u:\dbf (пускай для начало будет жеская привязка)
TableName = ktcp
TableType = ttFoxPro (пробывал и ttDBASE)
IndexName = ПУСТО ??? а должны быть индексы
> Кроме то брось ты это гнусное дело работать с ФоксПро >таблицами, это драйвер
предназначен только для работы в режиме >чтения, используй АДО
- Так раз мне нужно для чтения(программа просмотр нормативно-справочной информации)
- начал сначало писать с использыванием ADO но BDE работает гораздо быстрее (пробывал есть dbf-файл 18 mb - ADO открывало около минуты BDE- около 3-5 сек.)
Anatoly Podgoretsky (2004-10-26 20:52:00) [9]Вы поосторожнее с терминами, локальная означает только одно база и клиент на одном компьютере и не имеет отношение к технологиии клиент/сервер, файл/сервер
И то и другое может быть как локальной базой, так и удаленной.
Anatoly Podgoretsky (2004-10-26 20:48:00) [10]Попробуй сначала открыть с помощью DBD если откроется, то у тебя неверно установлены свойства в программе, а то что они неверны видимо так, поскольку индексный файл указывается только для дополнительных не основных (production) индексныъ файлов.
Кроме то брось ты это гнусное дело работать с ФоксПро таблицами, это драйвер предназначен только для работы в режиме чтения, используй АДО
ceval (2004-10-26 17:23:00) [11]В том и дело что когда использывал ADOTable в нормально было
когда указываю DatabaseName и
выбераю в TableName = имя dbf-файла
в IndexName должнен быть выбор индексов но там их нет :(
> Какие поля входят в индекс ? Если все верно, то они должны
> быть видимы.
все поля видны
msguns (2004-10-26 16:59:00) [12]>DSKalugin © (26.10.04 16:02) [13]
>Речь о локальных БД
И я о том же. На файл-сервере располагаются именно локальные БД
>ceval © (26.10.04 16:44) [14]
Какие поля входят в индекс ? Если все верно, то они должны быть видимы.
ceval (2004-10-26 16:44:00) [13]>А если база на сервере ?
У меня dbf-файлы лежат на файл-сервер создал алиас прописал путь
'X:\.....\.....'. Вроде как нормально работает, правда я открывая только для чтения.
Индекстный файл Foxpro'шный,создан был в FoxPro 2.5
DSKalugin (2004-10-26 16:02:00) [14]>А если база на сервере ?
Речь о локальных БД
msguns (2004-10-26 13:20:00) [15]Каким образом был создан вторичный индекс и что в него входит ?
ceval (2004-10-26 13:08:00) [16]Большое спасибо с alisam'и все понятно !
Но все же как подключить индекстный файл ?? :(
msguns (2004-10-26 13:02:00) [17]>DSKalugin © (26.10.04 12:30) [7]
> msguns ©
>Жосткие пути - это весьма дурной тон и один из показателей непрофессионализма. Отказ от алиасов еще не значит использование жостких путей. Я при использовании БДЕ поступал так
tbBuffPrihod.DatabaseName:=ExtractFileDir(ParamStr(0))+'\DB_DIR';
А "жостко" привязываться к каталогу с прогой - это признак профессионализма ? А если база на сервере ?
>Ильш (26.10.04 12:36) [8]
Я не писал, что лучше всегопользоваться алиасами,- я просто сказал для чего они нужны. Как в каждом конкретном случае поступит конкретный программер, установливающий конкретную прогу, это в конце концов его дело. А также того, кто будет обслуживать ее. Лично я алиасами не пользуюсь давно, хотя бы потому, что не работаю с локальными БД. Но плохого в них ничего не вижу. В отличие, например, от способа регистрации путей в реестре винды. Но это уже сугубо ИМХО.
ceval (2004-10-26 12:44:00) [18]Помогите совсем запарился с индекстным файлом Пробывал и
table1.IndexName:='kod'-пишет'Table1:Index does not exist:kod ';
и
table1.IndexFieldNames:='kod'-пишет 'Table1: No index for fields: 'kod'',
и в свойствах IndexFiles указывал индекстный файл ktcpind.cdx
Ильш (2004-10-26 12:36:00) [19]
> Алиас удобен для того, чтобы можно было быстро и удобно
> настроить программу на клиенте без правки программы и всевозможных файлов настроек (*.ini).
сносим с тачки винды - ставим снова - каталог проги переписываем на место- запускаем (у нас на заводе такая ситуация нередка)
при варанте с алиасами - не заколебешься прописывать их снова?
при варианте с ини файлами лежвщими вместе с прогой ничего более делать не надо
к тому же редактировать их много проще чем алиас
имхо!!!
на опыте своем уцбедился что лучше инишки !!!
DSKalugin (2004-10-26 12:30:00) [20]2 msguns ©
Жосткие пути - это весьма дурной тон и один из показателей непрофессионализма. Отказ от алиасов еще не значит использование жостких путей. Я при использовании БДЕ поступал так
tbBuffPrihod.DatabaseName:=ExtractFileDir(ParamStr(0))+'\DB_DIR';