Ученик-кочегар
Группа: Участник
Сообщений: 10
|
Добрый день. У меня есть один вопрос который меня очень интересует:
Как правильно использовать DataModule в консольном приложении?
Это консольное приложение должно связаться с базой данных через InterBase. Вот например: cоздал DataModule и положил три компонента IBDatabase, IBTransaction и IBQuery. Сделал все необходимые связи и добавил в проект DataModule.
Попытался его использовать в консоли:
CODE |
#include <vcl.h>
#pragma hdrstop
#include "DataModul.h"
#pragma argsused
int main(int argc, char* argv[])
{
DataMod->IBQuery1->Open();
................................
}
|
И при обращении к стоке DataMod->IBQuery1->Open(); ошибка: "Acceess Violation....".
Я порылся в Архиве форума в надежде найти ответ, и нашел другое решение проблемы, которое мне не нравиться.
CODE |
#include <Db.hpp>
#include <IBCustomDataSet.hpp>
#include <IBDatabase.hpp>
#include <IBQuery.hpp>
TIBDatabase *Base=new TIBDatabase(NULL);
TIBQuery *MyQuery=new TIBQuery(NULL);
TIBTransaction *Trans=new TIBTransaction(NULL);
Base->DefaultTransaction=Trans;
Base->DatabaseName="rating:c:\databases\repadib.fdb";
Base->Params->Add("user_name=adrep");
Base->Params->Add("password=***");
Base->Params->Add("lc_ctype=WIN1251");
Base->LoginPrompt=false;
Trans->DefaultAction=TARollback;
Trans->DefaultDatabase=Base;
MyQuery->Database=Base;
MyQuery->Transaction=Trans;
MyQuery->SQL->Add("select * from MAINREPLICATE");
...........
|
И это только для одной базы....
Мне конечно не лень прописать также и на осальные, но если же есть DataModule, почему бы его не использовать?
Объяните мне пожалуйста, что нужно сделать, чтобы можно использовать DataModule в консольном приложении?
Заранее Большое спасибо. |