Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизВпервые использую DBE пара может быть глупых вопросов Найти похожие ветки
← →
ceval © (2004-10-23 13:42) [0]Впервые использую DBE пара может быть глупых вопросов
1) А обязательно в DBE делать alias ?
а возможен такой вариант - кинуть на форму Table,DataSource,DBgrid связать их
у Table1.TableName="путь к файлу"
2)Подскажите как подключить индекстный файл при использывании
DBE
Раньше использывал ADO (у меня все нормально шло
ADOTable1.IndexFieldNames:="odc;oic";
ADOTable1.TableName:="ktcp";
ADOTable1.Active:=true;)
Как сделать это в DBE ? В дизайн-тайме тоже не выходит :(
← →
vecna © (2004-10-23 14:03) [1]DBE? может BDE ?!
← →
ceval © (2004-10-23 14:09) [2]BDE - обшибся чутка
← →
DSKalugin © (2004-10-23 16:36) [3]1- используй свойство .DatabaseName для указания каталога. Без слэша в конце.
В .TableName пишется название таблицы. Работает 100% Я сам так делаю, чтобы уйти от алиасов.
2-а вот так как тыт тут написал так и подключай. Все правильно. Только индекс должен существовать физически.
3-Если не выходит значит должен писать почему. Какая ошибка?
4-и вообще какой формат таблиц у тебя dBase?
← →
ceval © (2004-10-25 17:47) [4]сделал DatabaseName все нормально !
Приподключаю индекс table1.IndexFieldNames:="odcc";
пишет "что нет индекса" хотя в той директории существует индекстный файл ktcpind.cdx
В чем может быть проблема ?
скорее всего dBase III (еще досовкая)
p.s на ADOTable работает без проблем
← →
DSKalugin © (2004-10-25 19:22) [5]Приподключаю индекс table1.IndexFieldNames:="odcc";
не IndexFieldNames:="odcc", а table1.IndexName:="odcc";
это две большие разницы
в IndexFieldNames указываются имена проиндексированных полей,
а в IndexName имя индекса.
Тебе может еще пригодится свойство IndexFiles
но скорей всего это FoxPro или Visual FoxPro
а вообще читай хелп по темам
IndexFieldNames, IndexName, IndexFiles
← →
msguns © (2004-10-26 09:16) [6]Алиас удобен для того, чтобы можно было быстро и удобно настроить программу на клиенте без правки программы и всевозможных файлов настроек (*.ini). Если жестко "вшить" путь к каталогу с БД в прогу (например через DataBaseName), то при изменении местоположения БД придется править исходник и перекомпиллировать программу, что вовсе не есть гут.
← →
DSKalugin © (2004-10-26 12:30) [7]2 msguns ©
Жосткие пути - это весьма дурной тон и один из показателей непрофессионализма. Отказ от алиасов еще не значит использование жостких путей. Я при использовании БДЕ поступал так
tbBuffPrihod.DatabaseName:=ExtractFileDir(ParamStr(0))+"\DB_DIR";
← →
Ильш (2004-10-26 12:36) [8]
> Алиас удобен для того, чтобы можно было быстро и удобно
> настроить программу на клиенте без правки программы и всевозможных файлов настроек (*.ini).
сносим с тачки винды - ставим снова - каталог проги переписываем на место- запускаем (у нас на заводе такая ситуация нередка)
при варанте с алиасами - не заколебешься прописывать их снова?
при варианте с ини файлами лежвщими вместе с прогой ничего более делать не надо
к тому же редактировать их много проще чем алиас
имхо!!!
на опыте своем уцбедился что лучше инишки !!!
← →
ceval © (2004-10-26 12:44) [9]Помогите совсем запарился с индекстным файлом Пробывал и
table1.IndexName:="kod"-пишет"Table1:Index does not exist:kod ";
и
table1.IndexFieldNames:="kod"-пишет "Table1: No index for fields: "kod"",
и в свойствах IndexFiles указывал индекстный файл ktcpind.cdx
← →
msguns © (2004-10-26 13:02) [10]>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 13:08) [11]Большое спасибо с alisam"и все понятно !
Но все же как подключить индекстный файл ?? :(
← →
msguns © (2004-10-26 13:20) [12]Каким образом был создан вторичный индекс и что в него входит ?
← →
DSKalugin © (2004-10-26 16:02) [13]>А если база на сервере ?
Речь о локальных БД
← →
ceval © (2004-10-26 16:44) [14]>А если база на сервере ?
У меня dbf-файлы лежат на файл-сервер создал алиас прописал путь
"X:\.....\.....". Вроде как нормально работает, правда я открывая только для чтения.
Индекстный файл Foxpro"шный,создан был в FoxPro 2.5
← →
msguns © (2004-10-26 16:59) [15]>DSKalugin © (26.10.04 16:02) [13]
>Речь о локальных БД
И я о том же. На файл-сервере располагаются именно локальные БД
>ceval © (26.10.04 16:44) [14]
Какие поля входят в индекс ? Если все верно, то они должны быть видимы.
← →
ceval © (2004-10-26 17:23) [16]В том и дело что когда использывал ADOTable в нормально было
когда указываю DatabaseName и
выбераю в TableName = имя dbf-файла
в IndexName должнен быть выбор индексов но там их нет :(
> Какие поля входят в индекс ? Если все верно, то они должны
> быть видимы.
все поля видны
← →
Anatoly Podgoretsky © (2004-10-26 20:48) [17]Попробуй сначала открыть с помощью DBD если откроется, то у тебя неверно установлены свойства в программе, а то что они неверны видимо так, поскольку индексный файл указывается только для дополнительных не основных (production) индексныъ файлов.
Кроме то брось ты это гнусное дело работать с ФоксПро таблицами, это драйвер предназначен только для работы в режиме чтения, используй АДО
← →
Anatoly Podgoretsky © (2004-10-26 20:52) [18]Вы поосторожнее с терминами, локальная означает только одно база и клиент на одном компьютере и не имеет отношение к технологиии клиент/сервер, файл/сервер
И то и другое может быть как локальной базой, так и удаленной.
← →
ceval © (2004-10-27 09:15) [19]Если я правельно понал 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-27 09:52) [20]Это ты просто неправильно с АДО работаешь, открывается точно также быстро, только правильно надо настроить свойства компонент доступа, в отличии от БДЕ там более гибко.
Раз ДБД открывает, то остается только ошибки в твоей программе и ДБД и твоя программа пользуются тем же самым БДЕ.
← →
ceval © (2004-10-27 10:15) [21]>Раз ДБД открывает, то остается только ошибки в твоей программе >и ДБД и твоя программа пользуются тем же самым БДЕ.
Так таблица у меня открывается в программе, но как открыть ее с индексом мне нужно сделать упорядочение т.е упорядочиние по детали (идекс odcc) и так далее
Table1.TableName:="ktcp";
Table1.IndexName:="odcc";
Table1.Active:=true; пишет "Table1:Index does not exist:kod ";
← →
Anatoly Podgoretsky © (2004-10-27 11:04) [22]Так в том же ДБД посмотри какие индексы есть, может из вообще нет.
← →
DSKalugin © (2004-10-27 13:17) [23]Блин, да что же за проблема такая таблицу открыть.
Высылай мне ее на почту (только пустую! :-))
DSKalugin@rambler.ru
← →
ceval © (2004-10-27 16:16) [24]Вообщем пошел другим путем. Нашел 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 16:31) [25]table.Indexfiles.Add("ktcpind.cdx");
← →
Val © (2004-10-27 17:15) [26]>[8] Ильш (26.10.04 12:36)
..вы просто не умеете их готовить ©
Перед сносом винды базы, скажем, сохранить додумались, а конфигурационный файл бде - нет? Не стоит выносить столь категоричных вердиктов.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.034 c