Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перевести Delphi на C++Builder, C++Builder 2009 
V
    Опции темы
Alca
Дата 13.1.2009, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



C++Builder 2009.
Есть код на Делфи:
Код

{Создать базы данных Access} 
//Using ADOX: 
uses
   ComObj;
 // You can with ADOX (Microsoft ADO Extensions for DDL and Security), 
function CreateAccessDatabase(FileName: string): string;
 var
    cat: OLEVariant;
 begin
   Result := '';
   try
     cat := CreateOleObject('ADOX.Catalog');
     cat.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + FileName + ';');
     cat := NULL;
   except
     on e: Exception do Result := e.message;
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   CreateAccessDatabase('c:\Testdb.mdb');
 end;

Собственно интересует вот эта часть:
Код

#include <ComObj.hpp>
//...
OleVariant cat;
cat = CreateOleObject("ADOX.Catalog");
cat.Create(L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\new.mdb;");
cat = NULL;

Получаю:
Код

[BCC32 Error] CAccess.cpp(97): E2316 'Create' is not a member of 'OleVariant'

Чего не так?

Это сообщение отредактировал(а) Alca - 13.1.2009, 10:56


--------------------
PM WWW ICQ Skype Jabber   Вверх
MuForum
Дата 13.1.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

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



#1, Alca - Я в этом не спец, но очевидно, что метода 'Create' в этом классе нету. (В Help'е билдера можно просмотреть все методы)
- Как решить проблему, к сожалению не не знаю =(
- Никогда с этим не работал.

# Добавлено: Может в новой версии компилятора необходимо использовать другой метод, например 'OlePropertySet()'.
- Это предположение.

Это сообщение отредактировал(а) MuForum - 13.1.2009, 22:46


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
mrbrooks
Дата 13.1.2009, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



Как я понимаю деляфиный код создает аксессовскую бд.
Я лично создаю сам файл в 2009 так:
Код

Variant var;
var = CreateOleObject("Access.Application");
var.OleProcedure("NewCurrentDatabase", "C:\\888.mdb");
var.OleProcedure("Quit");
var = Unassigned;


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


Эксперт
****


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

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



Гы. А если Эксес не установлен?


--------------------
PM WWW ICQ Skype Jabber   Вверх
mrbrooks
Дата 13.1.2009, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



А уже в ADOConnection->ConnectionString формирую строку "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+"C:\\888.mdb"
и т.д.

Добавлено через 2 минуты и 39 секунд
Цитата(Alca @  13.1.2009,  23:21 Найти цитируемый пост)
Гы. А если Эксес не установлен? 

с сим не сталкивался. если не стоит - это не катит.
PM MAIL   Вверх
Alca
Дата 13.1.2009, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Нужно создать mdb-шник через ADO в С++Builder 2009


--------------------
PM WWW ICQ Skype Jabber   Вверх
Данкинг
Дата 14.1.2009, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(Alca @  13.1.2009,  23:21 Найти цитируемый пост)
Гы. А если Эксес не установлен? 

Я так понимаю, если оный не установлен, то строка "Microsoft.Jet.OLEDB.4.0" определённо не прокатит, поскольку такого драйвера в системе нет. А этот пример на Дельфи (из DRKB, как я понимаю) я неоднократно юзал, работает отлично (разумеется, при установленном Access).


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Alca
Дата 14.1.2009, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата

определённо не прокатит

Данкинг, ты не прав.


--------------------
PM WWW ICQ Skype Jabber   Вверх
Данкинг
Дата 14.1.2009, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(Alca @  14.1.2009,  00:38 Найти цитируемый пост)
Данкинг, ты не прав. 

Почему? А откуда возьмётся драйвер "Microsoft.Jet" ?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Alca
Дата 14.1.2009, 00:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



ADO с виндой идет.


--------------------
PM WWW ICQ Skype Jabber   Вверх
Данкинг
Дата 14.1.2009, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Ну а почему же тогда через ADO нельзя подключиться к базе FoxPro, если на данном компе фокс не установлен? smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Alca
Дата 14.1.2009, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А почему можно создать мдб-шник без эксеса?
MSSQL Server тоже не будет через ADO работать без эксеса?

Это сообщение отредактировал(а) Alca - 14.1.2009, 01:02


--------------------
PM WWW ICQ Skype Jabber   Вверх
Данкинг
Дата 14.1.2009, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(Alca @  14.1.2009,  00:58 Найти цитируемый пост)
А почему можно создать мдб-шник без эксеса?

Как именно создать - этим вот кодом? smile 

Цитата(Alca @  14.1.2009,  00:58 Найти цитируемый пост)
MSSQL Server тоже не будет через ADO работать без эксеса?

Без драйвера SQL-сервера не будет.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Alca
Дата 14.1.2009, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



 smile 


--------------------
PM WWW ICQ Skype Jabber   Вверх
Romikgy
Дата 14.1.2009, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Код

Variant cat;

cat = CreateOleObject("ADOX.Catalog");
cat.OleProcedure("create","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\new.mdb;");
cat = NULL;



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

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

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

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

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

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


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

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


 




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


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

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