Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Перевод примера на Builder / 13 сообщений из 13, страница 1 из 1
18.09.2003, 15:56
    #32269343
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод примера на Builder
у меня была проблема с ростом базы данных.\r
На других форумах дали аж два примера ( на Delphi и на Visual C++(п.6.3 - Вариант 3) )\r
На Delphi :\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
const\r
    Provider = \'Provider=Microsoft.Jet.OLEDB.4.0;\';\r
    SrcMDB    = \'c:\\data\\northwind.mdb\';\r
    DstMDB    = \'d:\\data\\newnorth.mdb\';\r
   procedure TForm1.Button1Click(Sender: TObject);\r
   var\r
    JetEng : JetEngine;\r
    Src      : WideString;\r
    Dest    : WideString;\r
   begin\r
   // Создать экземпляр объекта JetEngine\r
    JetEng := CoJetEngine.Create;\r
   // Определить источник\r
    Src      := Provider + \'Data Source=\' +    SrcMDB;\r
   // и место назначения\r
    Dest    := Provider + \'Data Source=\' + DstMDB;\r
   // Проверить, есть ли файл с копией, и если есть, то удалить его\r
   If FileExists(DstMDB) Then DeleteFile(DstMDB);\r
   // Сжать базу данных\r
    JetEng.CompactDatabase(Src, Dest);\r
   // Уничтожить созданный экземпляр объекта JetEngine\r
    JetEng := Nil;\r
   end;
\r
Тут у меня возникла проблема с:\r
var\r
JetEng : JetEngine;\r
...\r
JetEng := CoJetEngine.Create;\r
Пробовал так: \r
JetEngine jet; \r
... \r
JetEngine = new CoJetEngine \r
Пишет не могу создать абстрактный класс IJetEngine \r
\r
Пробовал эдак : \r
IJetEnginePtr jet; \r
... \r
jet->CompactDatabase(s1,s2); \r
Естественно, выдает ошибку, так как объект я не создал. \r
Я еще много как пробовал, но не получилось.\r
\r
На Visual C++:\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 Visual C++: Compacting an Access Database via ADO\r
Besides #import, the Msado15.dll (MDAC2. 1 ), add the following #import statement to generate the wrapper classes for JRO to your .cpp classes (alternatively, you can generate the wrapper classes more efficiently by using the no_implementation and implementation_only attributes of the #import pre-processor statement):\r
#import  "C:\\PROGRAM FILES\\COMMON FILES\\System\\ado\\MSJRO.DLL"  no_namespace\r
\r
Add the following (specifying your own source and destination database paths) to the .cpp file where you want to compact the database:\r
...\r
try\r
{\r
   IJetEnginePtr jet(__uuidof(JetEngine));\r
   jet->CompactDatabase(\r
          "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=d:\\\\nwind2.mdb",\r
          "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=d:\\\\abbc.mdb;" \\\r
          "Jet OLEDB:Engine Type=4 ");\r
}\r
catch(_com_error &e)\r
{\r
   ::MessageBox(NULL, (LPCTSTR)e.Description( ), "", MB_OK) ;\r
}
\r
\r
Тут возникла проблема с IJetEnginePtr jet(__uuidof(JetEngine));\r
Пишет:\r
E2108 Improper use of typedef IJetEnginePtr \r
\r
Помогите, пожалуйста, а то я совсем измучился.
...
Рейтинг: 0 / 0
18.09.2003, 15:58
    #32269347
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод примера на Builder
у меня была проблема с ростом базы данных.\r
На других форумах дали аж два примера ( на Delphi и на Visual C++(п.6.3 - Вариант 3) )\r
На Delphi :\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
const\r
    Provider = \'Provider=Microsoft.Jet.OLEDB.4.0;\';\r
    SrcMDB    = \'c:\\data\\northwind.mdb\';\r
    DstMDB    = \'d:\\data\\newnorth.mdb\';\r
   procedure TForm1.Button1Click(Sender: TObject);\r
   var\r
    JetEng : JetEngine;\r
    Src      : WideString;\r
    Dest    : WideString;\r
   begin\r
   // Создать экземпляр объекта JetEngine\r
    JetEng := CoJetEngine.Create;\r
   // Определить источник\r
    Src      := Provider + \'Data Source=\' +    SrcMDB;\r
   // и место назначения\r
    Dest    := Provider + \'Data Source=\' + DstMDB;\r
   // Проверить, есть ли файл с копией, и если есть, то удалить его\r
   If FileExists(DstMDB) Then DeleteFile(DstMDB);\r
   // Сжать базу данных\r
    JetEng.CompactDatabase(Src, Dest);\r
   // Уничтожить созданный экземпляр объекта JetEngine\r
    JetEng := Nil;\r
   end;
\r
Тут у меня возникла проблема с:\r
var\r
JetEng : JetEngine;\r
...\r
JetEng := CoJetEngine.Create;\r
Пробовал так: \r
JetEngine jet; \r
... \r
JetEngine = new CoJetEngine \r
Пишет не могу создать абстрактный класс IJetEngine \r
\r
Пробовал эдак : \r
IJetEnginePtr jet; \r
... \r
jet->CompactDatabase(s1,s2); \r
Естественно, выдает ошибку, так как объект я не создал. \r
Я еще много как пробовал, но не получилось.\r
\r
На Visual C++:\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 Visual C++: Compacting an Access Database via ADO\r
Besides #import, the Msado15.dll (MDAC2. 1 ), add the following #import statement to generate the wrapper classes for JRO to your .cpp classes (alternatively, you can generate the wrapper classes more efficiently by using the no_implementation and implementation_only attributes of the #import pre-processor statement):\r
#import  "C:\\PROGRAM FILES\\COMMON FILES\\System\\ado\\MSJRO.DLL"  no_namespace\r
\r
Add the following (specifying your own source and destination database paths) to the .cpp file where you want to compact the database:\r
...\r
try\r
{\r
   IJetEnginePtr jet(__uuidof(JetEngine));\r
   jet->CompactDatabase(\r
          "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=d:\\\\nwind2.mdb",\r
          "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=d:\\\\abbc.mdb;" \\\r
          "Jet OLEDB:Engine Type=4 ");\r
}\r
catch(_com_error &e)\r
{\r
   ::MessageBox(NULL, (LPCTSTR)e.Description( ), "", MB_OK) ;\r
}
\r
\r
Тут возникла проблема с IJetEnginePtr jet(__uuidof(JetEngine));\r
Пишет:\r
E2108 Improper use of typedef IJetEnginePtr \r
\r
Помогите, пожалуйста, а то я совсем измучился.
...
Рейтинг: 0 / 0
18.09.2003, 15:59
    #32269350
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод примера на Builder
у меня была проблема с ростом базы данных.\r
На других форумах дали аж два примера ( на Delphi и на Visual C++(п.6.3 - Вариант 3) )\r
На Delphi :\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
const\r
    Provider = \'Provider=Microsoft.Jet.OLEDB.4.0;\';\r
    SrcMDB    = \'c:\\data\\northwind.mdb\';\r
    DstMDB    = \'d:\\data\\newnorth.mdb\';\r
   procedure TForm1.Button1Click(Sender: TObject);\r
   var\r
    JetEng : JetEngine;\r
    Src      : WideString;\r
    Dest    : WideString;\r
   begin\r
   // Создать экземпляр объекта JetEngine\r
    JetEng := CoJetEngine.Create;\r
   // Определить источник\r
    Src      := Provider + \'Data Source=\' +    SrcMDB;\r
   // и место назначения\r
    Dest    := Provider + \'Data Source=\' + DstMDB;\r
   // Проверить, есть ли файл с копией, и если есть, то удалить его\r
   If FileExists(DstMDB) Then DeleteFile(DstMDB);\r
   // Сжать базу данных\r
    JetEng.CompactDatabase(Src, Dest);\r
   // Уничтожить созданный экземпляр объекта JetEngine\r
    JetEng := Nil;\r
   end;
\r
Тут у меня возникла проблема с:\r
var\r
JetEng : JetEngine;\r
...\r
JetEng := CoJetEngine.Create;\r
Пробовал так: \r
JetEngine jet; \r
... \r
JetEngine = new CoJetEngine \r
Пишет не могу создать абстрактный класс IJetEngine \r
\r
Пробовал эдак : \r
IJetEnginePtr jet; \r
... \r
jet->CompactDatabase(s1,s2); \r
Естественно, выдает ошибку, так как объект я не создал. \r
Я еще много как пробовал, но не получилось.\r
\r
На Visual C++:\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 Visual C++: Compacting an Access Database via ADO\r
Besides #import, the Msado15.dll (MDAC2. 1 ), add the following #import statement to generate the wrapper classes for JRO to your .cpp classes (alternatively, you can generate the wrapper classes more efficiently by using the no_implementation and implementation_only attributes of the #import pre-processor statement):\r
#import  "C:\\PROGRAM FILES\\COMMON FILES\\System\\ado\\MSJRO.DLL"  no_namespace\r
\r
Add the following (specifying your own source and destination database paths) to the .cpp file where you want to compact the database:\r
...\r
try\r
{\r
   IJetEnginePtr jet(__uuidof(JetEngine));\r
   jet->CompactDatabase(\r
          "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=d:\\\\nwind2.mdb",\r
          "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=d:\\\\abbc.mdb;" \\\r
          "Jet OLEDB:Engine Type=4 ");\r
}\r
catch(_com_error &e)\r
{\r
   ::MessageBox(NULL, (LPCTSTR)e.Description( ), "", MB_OK) ;\r
}
\r
\r
Тут возникла проблема с IJetEnginePtr jet(__uuidof(JetEngine));\r
Пишет:\r
E2108 Improper use of typedef IJetEnginePtr \r
\r
Помогите, пожалуйста, а то я совсем измучился.
...
Рейтинг: 0 / 0
18.09.2003, 16:00
    #32269357
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод примера на Builder
у меня была проблема с ростом базы данных.\r
На других форумах дали аж два примера ( на Delphi и на Visual C++(п.6.3 - Вариант 3) )\r
На Delphi :\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
const\r
    Provider = \'Provider=Microsoft.Jet.OLEDB.4.0;\';\r
    SrcMDB    = \'c:\\data\\northwind.mdb\';\r
    DstMDB    = \'d:\\data\\newnorth.mdb\';\r
   procedure TForm1.Button1Click(Sender: TObject);\r
   var\r
    JetEng : JetEngine;\r
    Src      : WideString;\r
    Dest    : WideString;\r
   begin\r
   // Создать экземпляр объекта JetEngine\r
    JetEng := CoJetEngine.Create;\r
   // Определить источник\r
    Src      := Provider + \'Data Source=\' +    SrcMDB;\r
   // и место назначения\r
    Dest    := Provider + \'Data Source=\' + DstMDB;\r
   // Проверить, есть ли файл с копией, и если есть, то удалить его\r
   If FileExists(DstMDB) Then DeleteFile(DstMDB);\r
   // Сжать базу данных\r
    JetEng.CompactDatabase(Src, Dest);\r
   // Уничтожить созданный экземпляр объекта JetEngine\r
    JetEng := Nil;\r
   end;
\r
Тут у меня возникла проблема с:\r
var\r
JetEng : JetEngine;\r
...\r
JetEng := CoJetEngine.Create;\r
Пробовал так: \r
JetEngine jet; \r
... \r
JetEngine = new CoJetEngine \r
Пишет не могу создать абстрактный класс IJetEngine \r
\r
Пробовал эдак : \r
IJetEnginePtr jet; \r
... \r
jet->CompactDatabase(s1,s2); \r
Естественно, выдает ошибку, так как объект я не создал. \r
Я еще много как пробовал, но не получилось.\r
\r
На Visual C++:\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 Visual C++: Compacting an Access Database via ADO\r
Besides #import, the Msado15.dll (MDAC2. 1 ), add the following #import statement to generate the wrapper classes for JRO to your .cpp classes (alternatively, you can generate the wrapper classes more efficiently by using the no_implementation and implementation_only attributes of the #import pre-processor statement):\r
#import  "C:\\PROGRAM FILES\\COMMON FILES\\System\\ado\\MSJRO.DLL"  no_namespace\r
\r
Add the following (specifying your own source and destination database paths) to the .cpp file where you want to compact the database:\r
...\r
try\r
{\r
   IJetEnginePtr jet(__uuidof(JetEngine));\r
   jet->CompactDatabase(\r
          "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=d:\\\\nwind2.mdb",\r
          "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=d:\\\\abbc.mdb;" \\\r
          "Jet OLEDB:Engine Type=4 ");\r
}\r
catch(_com_error &e)\r
{\r
   ::MessageBox(NULL, (LPCTSTR)e.Description( ), "", MB_OK) ;\r
}
\r
\r
Тут возникла проблема с IJetEnginePtr jet(__uuidof(JetEngine));\r
Пишет:\r
E2108 Improper use of typedef IJetEnginePtr \r
\r
Помогите, пожалуйста, а то я совсем измучился.
...
Рейтинг: 0 / 0
18.09.2003, 16:02
    #32269366
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод примера на Builder
у меня была проблема с ростом базы данных.\r
На других форумах дали аж два примера ( на Delphi и на Visual C++(п.6.3 - Вариант 3) )\r
На Delphi :\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
const\r
    Provider = \'Provider=Microsoft.Jet.OLEDB.4.0;\';\r
    SrcMDB    = \'c:\\data\\northwind.mdb\';\r
    DstMDB    = \'d:\\data\\newnorth.mdb\';\r
   procedure TForm1.Button1Click(Sender: TObject);\r
   var\r
    JetEng : JetEngine;\r
    Src      : WideString;\r
    Dest    : WideString;\r
   begin\r
   // Создать экземпляр объекта JetEngine\r
    JetEng := CoJetEngine.Create;\r
   // Определить источник\r
    Src      := Provider + \'Data Source=\' +    SrcMDB;\r
   // и место назначения\r
    Dest    := Provider + \'Data Source=\' + DstMDB;\r
   // Проверить, есть ли файл с копией, и если есть, то удалить его\r
   If FileExists(DstMDB) Then DeleteFile(DstMDB);\r
   // Сжать базу данных\r
    JetEng.CompactDatabase(Src, Dest);\r
   // Уничтожить созданный экземпляр объекта JetEngine\r
    JetEng := Nil;\r
   end;
\r
Тут у меня возникла проблема с:\r
var\r
JetEng : JetEngine;\r
...\r
JetEng := CoJetEngine.Create;\r
Пробовал так: \r
JetEngine jet; \r
... \r
JetEngine = new CoJetEngine \r
Пишет не могу создать абстрактный класс IJetEngine \r
\r
Пробовал эдак : \r
IJetEnginePtr jet; \r
... \r
jet->CompactDatabase(s1,s2); \r
Естественно, выдает ошибку, так как объект я не создал. \r
Я еще много как пробовал, но не получилось.\r
\r
На Visual C++:\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 Visual C++: Compacting an Access Database via ADO\r
Besides #import, the Msado15.dll (MDAC2. 1 ), add the following #import statement to generate the wrapper classes for JRO to your .cpp classes (alternatively, you can generate the wrapper classes more efficiently by using the no_implementation and implementation_only attributes of the #import pre-processor statement):\r
#import  "C:\\PROGRAM FILES\\COMMON FILES\\System\\ado\\MSJRO.DLL"  no_namespace\r
\r
Add the following (specifying your own source and destination database paths) to the .cpp file where you want to compact the database:\r
...\r
try\r
{\r
   IJetEnginePtr jet(__uuidof(JetEngine));\r
   jet->CompactDatabase(\r
          "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=d:\\\\nwind2.mdb",\r
          "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=d:\\\\abbc.mdb;" \\\r
          "Jet OLEDB:Engine Type=4 ");\r
}\r
catch(_com_error &e)\r
{\r
   ::MessageBox(NULL, (LPCTSTR)e.Description( ), "", MB_OK) ;\r
}
\r
\r
Тут возникла проблема с IJetEnginePtr jet(__uuidof(JetEngine));\r
Пишет:\r
E2108 Improper use of typedef IJetEnginePtr \r
\r
Помогите, пожалуйста, а то я совсем измучился.
...
Рейтинг: 0 / 0
18.09.2003, 16:05
    #32269370
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод примера на Builder
Sorry.
Что-то у меня связь глючит, поэтому и появилось сразу три топика.
...
Рейтинг: 0 / 0
18.09.2003, 16:06
    #32269379
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод примера на Builder
А их оказывается аж пять штук!!!
Еще раз sorry.
...
Рейтинг: 0 / 0
18.09.2003, 16:41
    #32269465
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод примера на Builder
Ну помогите хоть кто-нибудь!!!!
С утра с этой долбаной акцессовской базой мучаюсь...
...
Рейтинг: 0 / 0
18.09.2003, 17:24
    #32269525
ggg
ggg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод примера на Builder
ggg
...
Рейтинг: 0 / 0
18.09.2003, 17:28
    #32269531
hahaha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод примера на Builder
hahaha
...
Рейтинг: 0 / 0
18.09.2003, 17:29
    #32269535
hehehe
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод примера на Builder
hehehe
...
Рейтинг: 0 / 0
18.09.2003, 17:31
    #32269542
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод примера на Builder
Не надо смеяться над чужой бедой.
Лучше помогли бы перевести один из примеров на Builder или сказали почему не работает.
...
Рейтинг: 0 / 0
18.09.2003, 19:36
    #32269658
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод примера на Builder
Я нашел пример(точнее мне помогли на другом форуме) на
http://www.chinabcb.com/bbs/viewtopic.php?t=4817
Все почти работает, но ... при сжатии в Access-e из 25.6 МБ получается 1.74 МБ, а у меня получается 3.71 МВ.
Но это все же лучше чем ничего...
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Перевод примера на Builder / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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