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

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

Как открыть таблицу из указанного расположения с помощью АДО [D6, dBase, FoxPro, ADO]


kombat ©   (2002-11-12 17:54:00) 

Уважаемые Мастера! При использовании Microsoft.Jet.OLEDB.4.0 и при попытке открыть таблицу не из пути Data Source= а так qPmnt.SQL.Text := " SELECT * FROM "+ QuotedStr(Trim(sFileName)) +" ORDER BY Date_opl, Naim ";
возникает ошибка - Недопустимое имя ""D:\Work\Account\WORK\041102.DBF"". Проверьте что оно не содержит недопустимые символы или знаки препинания, а также не является слишком длинным.
Как быть?


kombat   (2002-11-13 12:13:00) [1]

спасиба за консультации, пошел к мелкософтам качать последные апдейты


sniknik   (2002-11-13 12:06:00) [2]

чего версия?

конечно стандартными
Дельфи 6 + SP1 + SP2 + SPRTL1

Mdac 2.7, Jet SR6


kombat   (2002-11-13 12:02:00) [3]

to sniknik ©
вы для работы с dBase файлами пользуетесь стандарными компонентами АДО Делфи? Какая у вас версия?


sniknik   (2002-11-13 10:57:00) [4]

никаких особых требований индексного файла нет. можно и без них (я чаще всего так и работаю, требования такие), другое дело если индекс был но его удалили (просто файл) без удаления признака индексности в dbf файле, тогда его дадо снимать (признак). Можно просто обнулить 28 байт считая с нуля в dbf-ке. можно через dbi функцию (не помню какая) да и не ставить же BDE изза 1 функции, или экзотический способ - открыть файл с подключением через драйвер Visual Foxpro, он снимает этот признак если индексный файл отсутствует.


kombat   (2002-11-13 10:00:00) [5]

я так понял одним из требований у Microsoft.Jet.OLEDB.4.0 есть наличие индексного файла у таблички. А как быть если его нет?


sniknik   (2002-11-12 18:29:00) [6]

даже не знаю что сказать... а если без ORDER BY ...?


kombat   (2002-11-12 18:08:00) [7]

делаю так qPmnt.ConnectionString := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+GetDirectoryName(ExtractFileDir(sFileName))+
";Mode=Read|Share Deny None;Extended Properties=dBase IV;Persist Security Info=False";
qPmnt.SQL.Text := " SELECT * FROM " + ExtractFileName(Trim(sFileName)) + " ORDER BY Date_opl, Naim ";
qPmnt.Open;
Идет ошибка - Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности проверте значения всех состояний OLE DB.


sniknik   (2002-11-12 18:05:00) [8]

кавычки вокруг не нужны


SaS13   (2002-11-12 17:59:00) [9]

задать ConnectionString у qPmnt перед открытием


Наверх

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