걍 심심해서 한번 짜봤는데요.. 잘되네요..
우선 DB파일이 있어야죠??
순서는 대략 이렇습니다..
1. DB작성 MS 엑세스 에서 내보내기 -> 파라독스 버젼 5
2. 소스파일이 포함된곳에 DB파일을 집어 넣습니다.
그담에 이소스를 원하는곳에 붙여넣습니다
/*
******************************************************************************
DBCreate();
String DBname : Database name
String DBroute : DB local path
String DBtype : DB Type (STANDARD,MSDB,PARADOX,More and More)
String SQLCommand : SQL Command Insert
int DBCnt : DB Create Count
******************************************************************************
*/
void __fastcall Test::DBCreate(String DBname, String DBroute, String DBtype, String SQLCommand, int DBCnt)
{
String DBSelfRoute;
if(DBroute == NULL)
{
DBSelfRoute = ExtractFilePath(Application->ExeName);
AddBDEAlias(DBname,DBSelfRoute,DBtype);
}
else
{
AddBDEAlias(DBname,DBroute,DBtype);
}
switch(DBCnt)
{
case 1:
Query_TestDB1 = new TQuery(NULL);// virtual Query Create.
DataSource1 = new TDataSource(NULL);// DataSource Create.
Query_TestDB1->DatabaseName = DBname; // Set DataBase Name.
Query_TestDB1->SQL->Text = SQLCommand; // DataBase Target DB Select
Query_TestDB1->RequestLive = true;// R/W = true
Query_TestDB1->Active = true;// Active Database = true
DataSource1->DataSet = Query_TestDB1; // Connect to Database
Query_TestDB1->Open();// DB Open.
Query_TestDB1->Refresh();// DB Refresh
Query_TestDB1->First();// DB index number -> First
break;
case 2:
Query_TestDB2 = new TQuery(NULL);// virtual Query Create.
DataSource2 = new TDataSource(NULL);//DataSource Create.
Query_TestDB2->DatabaseName = DBname; // Set DataBase Name.
Query_TestDB2->SQL->Text = SQLCommand; // DataBase Target DB Select
Query_TestDB2->RequestLive = true; // R/W = true
Query_TestDB2->Active = true;// Active Database = true
DataSource2->DataSet = Query_TestDB2; //Connect to Database
Query_TestDB2->Open(); // DB Open.
Query_TestDB2->Refresh(); // DB Refresh
Query_TestDB2->First(); // DB index number -> First
break;
default : break;
}
}
/*
******************************************************************************
AddBDEAlias();
AnsiString sAliasName : Database name
AnsiString sAliasPath : DB local path
AnsiString sDBDriver : DB Type (STANDARD,MSDB,PARADOX,More and More)
******************************************************************************
*/
void __fastcall TBoardSection::AddBDEAlias(AnsiString sAliasName, AnsiString sAliasPath,
AnsiString sDBDriver)
{
hDBISes h;
DbiInit(NULL);
DbiStartSession("dummy", h, "");
DbiAddAlias(NULL, sAliasName.c_str(), sDBDriver.c_str(), ("PATH:" + sAliasPath).c_str(), true);
DbiCloseSession(h);
DbiExit;
}
그리고 헤더 파일입니다용
public:
TQuery *Query_TestDB1 ;
TDataSource *DataSource1;
TQuery *Query_TestDB2 ;
TDataSource *DataSource2;
혹필요하실분이 있을지 모르것네요;;;
전 필요해서 만들었는디...
쓰는법은..;;
DBCreate("TEST1",NULL,"PARADOX","Select * from userDB1.DB",1);
DBCreate("TEST2",NULL,"PARADOX","Select * from userDB2.DB",2);
TEST1 위의 인자를 NULL을 주면 exe파일이 생성되는 폴더의 DB path가 되구요..
경로를 적어주면 그경로 따라 path가 되요
유용하게 쓰시길;;;(필요읍는거 올린거 아닌감;;)