| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Базы данных > корректно открыть DBF в билдере |
| Автор: slavic 18.2.2007, 13:45 | ||
| Только начинаю работать с БД в билдере. Следующая задача: необходимо корректно открыть DBF файл (без индекса) и работать с ним как с локальной таблицей (т.е. считать из него определенный набор полей посредством sql- запросов и записать их в текстовый файл). Собственно проблемы уже на 1ом этапе.
Подобный код выдает ошибки типа insufficient memory. Кто занимался? Каким образом это делается? Заранее благодарен. |
| Автор: Rodman 18.2.2007, 14:53 |
так если тебе через SQL запрос то нужно использовать TQuery... ты подключился к БД??? |
| Автор: slavic 18.2.2007, 15:25 |
| >ты подключился к БД??? подключаться мне не надо, файлы dbf лежат локально. нужно: 1) получить доступ к файлу dbf. 2) повыдергивать некоторые поля, sql запросами. 3) перейти к следующему dbf. каким образом это лучше всего устроить? вобще здорово будет, если укажите компоненты или приведете кусок кода, типа как я в первом посте. ps. при использовании ttable, datasource возникает ошибка в момент table -> active TQuery я хотел использовать дальше, в начале хотелось бы корректно открыть dbf-файл без ошибок. пока не получается! |
| Автор: Anikmar 18.2.2007, 17:40 |
Интересное имя БД |
| Автор: slavic 18.2.2007, 18:07 |
| >Интересное имя БД собственно, главная проблема не в этом. бд как таковой нет, есть одна таблица *.dbf. читал, что в качестве databasename можно в этом случае задавать имя директории. лучше бы помогли куском кода, главный вопрос как корректно открыть локальный dbf foxro в билдере |
| Автор: slavic 18.2.2007, 19:46 | ||
| Ошибки: 1. если делать способом, который в первом сообщении, то ошибка " insufficient memory" 2. если делать с помощью TQuery, требует индексный файл, которого у меня нет. (в наличие только дбф-ка)
Немного почитал про компоненты ADO, может их как раз использовать или в моем случае ado/bde без разницы? |
| Автор: Anikmar 20.2.2007, 19:51 |
| Table1->TableType = ttFoxPro; А не пробовали поставить ttDBase? |
| Автор: Salzar_bk 22.2.2007, 18:14 |
| Месяц назад была такая трабла..... Короче нужно поставить драйвер foxpro наз-ся vfpoledb.exe - весит мега два где-то в гугле не найдешь - пиши. После этого через ADO базы конектятся без проблем. BDE не хочет ни через Query, ни через Table. А дело все в том, что фокспрошные индекса наш билдер не понимает. Если програмно удалять индекса, и создавать новые - бедет читаться даже посредством BDE. |
| Автор: Atanvarno 1.6.2008, 21:39 |
| Я подключился с помощью BDE через ODBC DSN к dbf файлу СОбственно, при попытке выполнить запрос он мне говорит Key Violation Причём, что самое странное, когда делаю Query активным, на форме в режиме создания всё работает. |