Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание базы FoxPro c 0 в Builder C++, Как создать базу FoxPro в Studio 2006 
:(
    Опции темы
ALXP
  Дата 6.2.2008, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 6.2.2008
Где: Левое полушарие Л уны

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



Приветствую. Столкнулся с проблемой.
Я работаю в "Borland Developer Studio 2006" C++
Пользуюсь визульальными компонентами ( dbGO ) подключения базы через ADO (TADO)
c Visual FoxPro.

Есть пустая база FoX 9. Соединение с ней через TADOConnection проходит нормально
проверял выводил данные с таблицы и записывал. Все работает нормально никаких ошибок.
Провайдер Provider=VFPOLEDB.1.
Компонент запросов TADOQuery тоже работает на ура. С запросами SELECT и CREATE TABLE тоже
и создает и выбирает.

А проблема вот. допустим мне надо генерить пустую базу с 0. Указываю 

ConnectionString = Provider=VFPOLEDB.1;Data Source=C:\empty;Password="";Collating Sequence=MACHINE
папка empty пуста. TADOQuery командой CREATE TABLE создает базу dbf это нормально.

Используя TADOQuery:
1) Как мне создать саму базу? <имя>.dbc ? Команда в запросе CREATE DATABASE d2.dbc говорит
Feature is not avaible.

2) Как создать файл индексов для созданной таблици?
CREATE INDEX <name_index> ON <имя_базы> (<поле>) кричит Syntax errore
CREATE INDEX mid ON d2 (mid) эта таблица с этим столюцом присутствует в папке.
По идее должен создатся индексный файл к этой таблице d2.cdx

Подскажите как справится с этими 2мя пунктами.
PM MAIL ICQ   Вверх
N0dwis
Дата 6.2.2008, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



1) почитай документацию к ADO компоненту VFP. Насчет него точно не знаю, но возможности ODBC драйвера VFP сильно ограничены по сравнению с Visual FoxPro, вполне может быть, что базу ты не создашь никак.
2) если я не ошибаюсь, индексы в FoxPro создаются командой "INDEX ON <поле> TO <имя_файла_индекса>". Так что у тебя правда ошибка синтаксиса.

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


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 6.2.2008
Где: Левое полушарие Л уны

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



Так. Если есть предложения как сосздать с 0, то напишите. Но про ОДБЦ речи нет. Я про OLE BD (ADO) конечно оно связывается с одбц, но использует свой набор команд +. Поэтому и ?

А насчет индекса напишите мне пожалуйста SQL команду которая создаст индекс c именем my_Index для таблицы d2 столбца mid. А файл индекса наз d2.cdx

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


Бывалый
*


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

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



Цитата(ALXP @  6.2.2008,  16:46 Найти цитируемый пост)
оно связывается с одбц

Значит не может прыгнуть выше головы odbc. Т.е. тоже не сможет создать базу.

Я же написал выше команду! Если полная, то так:
SELECT <d2>
INDEX ON <mid> TO <my_Index>

Вот кусок из хелпа FoxPro

INDEX ON eExpression TO IDXFileName | TAG TagName [OF CDXFileName]
   [FOR lExpression]   [COMPACT]   [ASCENDING | DESCENDING]
   [UNIQUE | CANDIDATE]   [ADDITIVE]

PM MAIL   Вверх
ALXP
Дата 6.2.2008, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 6.2.2008
Где: Левое полушарие Л уны

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



С одбц пробовал подключать но его мелкомягкие походу забросили еще в 2000 году и ОДБЦ поддерживает только старые версие фокса, а новые (9) оле дб нормально ест, там с их сайта нового провайдера скачал и подключилось. В оле более функций для работы с фоксом. раз создаются таблици так по видимому и должны создаваться и сама база. Уже много перерыл и ничего хорошего не нашол, только список поддерживаемых и неподдерживаемых команд самого фокса, но я то работаю с визуальным компонентом студии.

А запрос не проходит. Вы написали команду для сомого фокса, а мне надо SQL который в TADOQuery пройдет. 
Пишет НЕраспознаные ключевые слова ОШИБКА.


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


Бывалый
*


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

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



Тогда я пас. С 9-й я не работал...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

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

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


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

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


 




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


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

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