Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Впервые использую DBE пара может быть глупых вопросов [D7, dBase, FoxPro]


Страницы:   1 2

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';


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо