Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать Access файл с помощью кода 
:(
    Опции темы
FICUS
Дата 7.7.2005, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый вечер! smile

Вот сталкнулся с вопросом о построении базы.

Есть идея создавать файлы Access с нужными таблицами.

Как можно создать файл базы с помощью кода?
Или может где то есть об этом описание?

пользуюсь C++ Builder 5


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


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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





--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
FICUS
Дата 8.7.2005, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

создать пустую БД используя адох можно так:

ADOX.Catalog catalog = new ADOX.Catalog();
   try
   {
    catalog.Create(ConnectionString);
   }

где ConnectionString чтото вроде такого:

StringBuilder connText = new StringBuilder();
connText.Append("Provider=Microsoft.Jet.OLEDB.4.0;");
connText.Append("Data Source=\"").Append(s_DatabasePath).Append(\";");
connText.Append("Mode=Share Deny None;");
connText.Append("Jet OLEDB:Encrypt Database=True;");
connText.Append("User ID=\"").Append("Admin").Append("\";");
ConnectionString = connText.ToString();




У меня нету ADOX. как быть? smile
Может оно и есть. Что хоть искать надо, для того что бы его подключить.
smile smile smile smile smile smile smile smile smile smile smile
PM MAIL   Вверх
chaos
Дата 8.7.2005, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


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

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



посмотри сдесь может поможет
http://www.sano.ru/dexa/delphi/faq/29.html#1064572983
Добавлено @ 11:01
правда пример на делфи
PM WWW   Вверх
_hunter
Дата 8.7.2005, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



нужно просто импортировать TLB-ху из msadox.dll


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
FICUS
Дата 8.7.2005, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Блин smile.
Аж стыдно.
Не получается что-то.

Делаю так:

— создаю новый проект,
— в меню Project->Import Type Library... выбираю кнопочку "ADD" и указываю один из файлов

msado20.tlb
-- TConnection
-- TCommand
-- TRecordset
-- TParameter

msado21.tlb
-- TConnection
-- TCommand
-- TRecordset
-- TParameter

msado25.tlb
-- TConnection
-- TRecord
-- TStream
-- TCommand
-- TRecordset
-- TParameter

msado26.tlb
-- TConnection
-- TRecord
-- TStream
-- TCommand
-- TRecordset
-- TParameter

msado27.tlb
-- TConnection
-- TRecord
-- TStream
-- TCommand
-- TRecordset
-- TParameter

C:\Program Files\Common Files\System\ado\msado27.tlb

и что-то в итоге ничего не изменилось. ADOX-ом даже и не пахнет smile
PM MAIL   Вверх
_hunter
Дата 8.7.2005, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



галку Generate Component Wrapper ставил?
кнопку Install тыкал?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
FICUS
Дата 8.7.2005, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Да ставил Generate Component Wrapper .
Тыкал кнопку Install.

--- что я только не тыкал smile

Оно мне генерировало только Файлы.
ADODB_OCX.dcr
ADODB_OCX.h
ADODB_TLB.cpp
ADODB_TLB.h
ADODB_OCX.cpp


Но я их не подключал чего-то в проект smile .

Подключил:
ADODB_TLB.cpp
ADODB_OCX.cpp



Появилось вагон функций и класснов. ... ADO есть, а ADOX нема. Хоть убей .... нема. smile smile smile smile

PM MAIL   Вверх
_hunter
Дата 8.7.2005, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



ну нет так нет ( мало ли как ты их обозвал ) ...
теперь просто береш и с той закладки, на которую компоненты повесил, тяни *catalog. с ним и работай


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
FICUS
Дата 8.7.2005, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



При компиляции dclasr50.bpk высвечивается оштбка в
файле: ADODB_OCX.h
строка:
Код

      if (OnWillExecute)
        (OnWillExecute)(this, TVariant(params[0]), (Adodb_tlb::CursorTypeEnum*)(int*)TVariant(params[1]), (Adodb_tlb::LockTypeEnum*)(int*)TVariant(params[2]), TVariant(params[3]), (Adodb_tlb::EventStatusEnum*)(int*)TVariant(params[4]), (Adodb_tlb::_Command*)(LPDISPATCH)TVariant(params[5]), (Adodb_tlb::_Recordset*)(LPDISPATCH)TVariant(params[6]), (Adodb_tlb::_Connection*)(LPDISPATCH)TVariant(params[7]));


ошибки:
Код

[C++ Warning] ADODB_OCX.h(462): W8022 '_fastcall TRecord::GetChildren()' hides virtual function '_fastcall TComponent::GetChildren(void (_fastcall * (_closure )(TComponent *))(TComponent *),TComponent *)'
[C++ Error] ADODB_OCX.cpp(131): E2034 Cannot convert 'TVariant' to 'long *'
[C++ Error] ADODB_OCX.cpp(131): E2342 Type mismatch in parameter 'Options' (wanted 'long *', got 'TVariant')
[C++ Error] ADODB_OCX.cpp(139): E2034 Cannot convert 'TVariant' to 'long *'
[C++ Error] ADODB_OCX.cpp(139): E2342 Type mismatch in parameter 'Options' (wanted 'long *', got 'TVariant')





блин.
пойду практиковать смаил smile
Добавлено @ 16:11
так наверно по точнее будит:
Вот на что ругается
Код

void __fastcall TConnection::InvokeEvent(int id, Oleserver::TVariantArray& params)
{
...
      if (OnWillExecute)
        (OnWillExecute)(this, TVariant(params[0]), (Adodb_tlb::CursorTypeEnum*)(int*)TVariant(params[1]), (Adodb_tlb::LockTypeEnum*)(int*)TVariant(params[2]), TVariant(params[3]), (Adodb_tlb::EventStatusEnum*)(int*)TVariant(params[4]), (Adodb_tlb::_Command*)(LPDISPATCH)TVariant(params[5]), (Adodb_tlb::_Recordset*)(LPDISPATCH)TVariant(params[6]), (Adodb_tlb::_Connection*)(LPDISPATCH)TVariant(params[7]));
...
}

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


Новичок



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

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



smile АЛИЛУЯ !!!
Всунул я Адокс приколы.
только не TLB-ху а сам msadox.dll файлик.
smile

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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