Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.031 c
14-1099639552
eukar
2004-11-05 10:25
2004.11.21
Простая школьная задачка


4-1097303157
dms_main
2004-10-09 10:25
2004.11.21
Проверка Хэндла


14-1099493766
oldman
2004-11-03 17:56
2004.11.21
Любителям "Колец"


1-1099510216
tormoz
2004-11-03 22:30
2004.11.21
Работа с Word (туда и обратно)


3-1098681265
Wood
2004-10-25 09:14
2004.11.21
Знаки после запятой.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский