![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как открыть таблицу из указанного расположения с помощью АДО [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 перед открытием