Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

Впервые использую 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;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.041 c
14-1099649424
Nous Mellon
2004-11-05 13:10
2004.11.21
Йододефицит и слухи..


14-1099640924
Guest
2004-11-05 10:48
2004.11.21
Почему у меня проц перегевается?


4-1097326582
CAMCOH
2004-10-09 16:56
2004.11.21
Програмное изменение "Do not show hidden files"


3-1098345392
Anna
2004-10-21 11:56
2004.11.21
Округление


14-1099820611
Piter
2004-11-07 12:43
2004.11.21
Помогите скомпилировать библиотеку для Firewall