Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Создание базы FoxPro c 0 в Builder C++ / 11 сообщений из 11, страница 1 из 1
06.02.2008, 16:12
    #35114291
aL-Xp7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание базы FoxPro c 0 в Builder C++
Приветствую. Столкнулся с проблемой.
Я работаю в "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мя пунктами.
...
Рейтинг: 0 / 0
06.02.2008, 16:26
    #35114360
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание базы FoxPro c 0 в Builder C++
1. Unsupported Visual FoxPro Commands and Functions in OLE DB Provider
...
CREATE DATABASE Command
...
INDEX ON Command
...

2. Индексы создаются командой Index, но она, как видно из предыщего списка, тоже не поддерживается.
...
Рейтинг: 0 / 0
06.02.2008, 16:31
    #35114381
aL-Xp7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание базы FoxPro c 0 в Builder C++
Спасибо. Я этот список смотрел. Поэтому и задался вопросом как можно создавать с 0.
Если знаете способ напишите пожалуйста
...
Рейтинг: 0 / 0
07.02.2008, 09:18
    #35115657
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание базы FoxPro c 0 в Builder C++
1. Создать пустую БД и её копировать из "секретного места"
2. По Index ON, в хелпе противоречие, команда присутствует как в поддерживаемх, так и не в поддерживаемых командах.
...
Рейтинг: 0 / 0
07.02.2008, 10:51
    #35116036
aL-Xp7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание базы FoxPro c 0 в Builder C++
Это понятно что копировать из секретного места. Такой план был и изначально. А вот чтобы не копировать или не распаковывать из экзешника в папку. Хочется в чистую запросами создать пустую базу с пустыми таблицами и индексными файлами. Вопрос ? можно ли это сделать или нет?

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

Или. Я видел что при создании таблицы можно создавать индексы прям в запросе. Если несложно приведите рабочий пример запроса вот таблица.

CREATE TABLE d2 (mid I AUTOINC,mgni n(10),mfilename c(250),mfile m,mdate_otpr T,mstatus c
(50),mstatus1 n(2),mresultat n(2), mdate T DEFAULT DATETIME(),
mdate_registrac t,midfileerror n(10),midgni n(10),mkoldayerror n(2),
midoperator n(10),mid1gni i,midnalogoplat i,minspect c(250))

Мне нужно в первому столбцу сделать индекс?
...
Рейтинг: 0 / 0
07.02.2008, 11:53
    #35116329
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание базы FoxPro c 0 в Builder C++
Создать БД через OLEDB не получиться, поэтому есть ещё один обходной маневр, сам контейнер БД - это есть 3 файла dbf+memo+индекс - dbc (dbf), dcx (индекс), dct (memo) их можно создать низкоуровневыми командами.

А вот самые разнообразные индексы создаются без проблем

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
oConn = CREATEOBJECT("ADODB.Connection")
oConn.ConnectionString = "provider=vfpoledb.1;;
data source= 'PATH....\TestAutoInc.dbc';Mode=ReadWrite"
oConn.Open()

oConn.Execute([execscript("open database PATH....\TestAutoInc.dbc")])
oConn.Execute([execscript("set database to TestAutoInc.dbc")])

oConn.Execute([execscript("create table PATH....\TAutoInc.dbf (f1 i AUTOINC primary key, f2 int, f3 c(10) ) ")])

oConn.Execute([execscript(" index on f2 tag f2")])
oConn.Execute([execscript(" index on f3 tag f3 candidat")])
...
Рейтинг: 0 / 0
07.02.2008, 12:02
    #35116385
NSFuimus1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание базы FoxPro c 0 в Builder C++
хех ... есть и другой "обходной" маневр - выкинуть нафик OLEDB :) ... достпун у автора к VFP хоть какой-нить версии есть?
...
Рейтинг: 0 / 0
07.02.2008, 12:10
    #35116437
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание базы FoxPro c 0 в Builder C++
NSFuimus1хех ... есть и другой "обходной" маневр - выкинуть нафик OLEDB :) ... достпун у автора к VFP хоть какой-нить версии есть?

Серёг, ты что автору, COM-сервер на фоксе писать предлагаешь
...
Рейтинг: 0 / 0
07.02.2008, 12:39
    #35116592
NSFuimus1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание базы FoxPro c 0 в Builder C++
ога :) ... тока и писать ничего не надо - создать пустой проект в майн программ запихать тот код что я напостил на фоксклабе, скомпилить его в мультисомсервердлл и быть щастливым :)) ... правда не забывать с собой рантайм таскать :))
...
Рейтинг: 0 / 0
07.02.2008, 12:46
    #35116621
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание базы FoxPro c 0 в Builder C++
NSFuimus1ога :) ... тока и писать ничего не надо - создать пустой проект в майн программ запихать тот код что я напостил на фоксклабе, скомпилить его в мультисомсервердлл и быть щастливым :)) ... правда не забывать с собой рантайм таскать :))

Вот с этого надо начинать было
...
Рейтинг: 0 / 0
07.02.2008, 13:02
    #35116680
NSFuimus1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание базы FoxPro c 0 в Builder C++
:) да ну! какая фикня! :)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Создание базы FoxPro c 0 в Builder C++ / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]