Поиск:

Ответ в темуСоздание новой темы Создание опроса
> корректно открыть DBF в билдере 
:(
    Опции темы
slavic
Дата 18.2.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 18.2.2007

Репутация: нет
Всего: нет



Только начинаю работать с БД в билдере.
Следующая задача:
необходимо корректно открыть DBF файл (без индекса) и работать с ним как с локальной таблицей (т.е. считать из него определенный набор полей посредством sql- запросов и записать их в текстовый файл).

Собственно проблемы уже на 1ом этапе.

Код

Table1->Active = false;
Table1->DatabaseName = "d:\\";
Table1->TableName = "d:\\psb.dbf";
Table1->ReadOnly = true;
Table1->TableType = ttFoxPro;
Table1->Active = true;

Подобный код выдает ошибки типа insufficient memory.

Кто занимался? Каким образом это делается? Заранее благодарен. 


Это сообщение отредактировал(а) Rodman - 5.6.2008, 14:39
PM MAIL   Вверх
Rodman
Дата 18.2.2007, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 1
Всего: 122



Цитата(slavic @  18.2.2007,  12:45 Найти цитируемый пост)
посредством sql- запросов

так если тебе через SQL запрос то нужно использовать TQuery...

ты подключился к БД???
PM MAIL WWW Skype GTalk YIM MSN   Вверх
slavic
Дата 18.2.2007, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 18.2.2007

Репутация: нет
Всего: нет



>ты подключился к БД??? 

подключаться мне не надо, файлы dbf лежат локально.
нужно:
1) получить доступ к файлу dbf.
2) повыдергивать некоторые поля, sql запросами.
3) перейти к следующему dbf.

каким образом это лучше всего устроить?
вобще здорово будет, если укажите компоненты или приведете кусок кода, типа как я в первом посте.

ps. при использовании ttable, datasource возникает ошибка в момент
table -> active


TQuery я хотел использовать дальше, в начале хотелось бы корректно открыть dbf-файл без ошибок. пока не получается!
PM MAIL   Вверх
Anikmar
Дата 18.2.2007, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 59



Цитата(slavic @  18.2.2007,  13:45 Найти цитируемый пост)
Table1->DatabaseName = "d:\\";

Интересное имя БД
PM MAIL ICQ   Вверх
slavic
Дата 18.2.2007, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 18.2.2007

Репутация: нет
Всего: нет



>Интересное имя БД 

собственно, главная проблема не в этом. бд как таковой нет, есть одна таблица *.dbf. читал, что в качестве databasename можно в этом случае задавать имя директории.

лучше бы помогли куском кода, главный вопрос как корректно открыть локальный dbf foxro в билдере

PM MAIL   Вверх
Anikmar
Дата 18.2.2007, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 59



Цитата(slavic @  18.2.2007,  18:07 Найти цитируемый пост)
лучше бы помогли куском кода, главный вопрос как корректно открыть локальный dbf foxro в билдере

Никогда этим не занимался, если честно, но думаю, что примерно так, как вы делаете. 
Какая ошибка у вас возникает?

PM MAIL ICQ   Вверх
slavic
Дата 18.2.2007, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 18.2.2007

Репутация: нет
Всего: нет



Ошибки:

1. если делать способом, который в первом сообщении, то ошибка " insufficient memory"

2. если делать с помощью TQuery, требует индексный файл, которого у меня нет. (в наличие только дбф-ка)
Код

      Query1->Close();
      Query1->SQL->Clear();
      Query1->SQL->Add("select GOD from 'd:\\psb.dbf'");
      Query1->Active = true;



Немного почитал про компоненты ADO, может их как раз использовать или в моем случае ado/bde без разницы?

Это сообщение отредактировал(а) Rodman - 5.6.2008, 14:39
PM MAIL   Вверх
Anikmar
Дата 20.2.2007, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 59



Table1->TableType = ttFoxPro;

А не пробовали поставить ttDBase?
PM MAIL ICQ   Вверх
Salzar_bk
Дата 22.2.2007, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 22.2.2007
Где: В сети живу...

Репутация: нет
Всего: нет



 smile 
Месяц назад была такая трабла.....
Короче нужно поставить драйвер foxpro наз-ся vfpoledb.exe - весит мега два где-то в гугле не найдешь - пиши.
После этого через ADO базы конектятся без проблем.
BDE не хочет ни через Query, ни через Table.

А дело все в том, что фокспрошные индекса наш билдер не понимает. Если програмно удалять индекса, и создавать новые - бедет читаться даже посредством BDE.


Это сообщение отредактировал(а) Salzar_bk - 22.2.2007, 18:17
PM MAIL   Вверх
Atanvarno
Дата 1.6.2008, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 11.12.2007

Репутация: нет
Всего: нет



Я подключился с помощью BDE через ODBC DSN к dbf файлу
СОбственно, при попытке выполнить запрос он мне говорит Key Violation
Причём, что самое странное, когда делаю Query активным, на форме в режиме создания всё работает.  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




[ Время генерации скрипта: 0.0519 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.