파라독스 로
a,b,c라는 DB화일을 만들어서 A,B,C라는 디렉토리에 저장하려고 하는데
DB화일을 만들면 모두 같은 디렉토리로 저장되거든요
알리어스 이름을 따로따로 만들어줘야 한다고들었는데
아래 소스와 같이 알리어스 한개는 만들었는데 여러개는 어떻게
만드는 지요
procedure TMainForm.FormCreate(Sender: TObject);
var SList:TStringList;
nLoop:Word; // For Loop 에서 사용.
bValue:Boolean; // 참,거짓을 저장한 후 필요시 사용.
ExecDir:String; // 현재 PathName
begin
bValue := False; // Alias가 없는 것으로 초기화...
ExecDir := ExtractFilePath(Application.ExeName);
if Not DirectoryExists('DataBase') then MkDir('DataBase'); // DBTable을 생성할 장소
try
SList := TStringList.Create;
Session.GetAliasNames(SList); // 현재 PC의 모든 Aliase Name을 가져오기
if SList.Count < 1 then bValue := False // Alias가 없을시
else
begin
for nLoop := 0 to SList.Count - 1 do // Loop를 수행하면서 'TEST' Alias이름 검색
if Trim(SList.Strings[nLoop]) = AliasName then
begin
bValue := True;
break; // For Loop 탈출
end;
end;
finally
SList.Free; // 메모리 해제
end;
if Not bValue then
begin
try
SList := TStringList.Create;
SList.Add('TYPE=STANDARD');
SList.Add('PATH='+EXECDIR+'DataBase');
SList.Add('ENABLE BCD=FALSE');
SList.Add('DEFAULT DRIVER=PARADOX');
Session.AddAlias(AliasName,'PARADOX',SList); // Alias 추가
Session.SaveConfigFile;
finally
SList.Free; //메모리 해제
end;
end;
end;
SList.Add('PATH='+EXECDIR+'DataBase');
이렇게 해서 하나의 알리아스를 만드셨듯이
DataBase가 아닌 다른 알리아스도 만들어 주셔야 되지요...
물론 DataBase라는 알리아스의 디렉토리와 다르게 설정을 해 주시고요.
예를 들어 다른 알리아스가 (DtaBase1/DataBase2)라면
DtaBase1/DataBase2라는 알리아스도 같은 방법으로 만드시면 됩니다.
DtaBase1/DataBase2라는 알리아스가 있는지 없는지를 검색하고
있으면 그냥 두고 없으면 새로 Create를 해주는 방법이죠...
그리고 A,B,C라는 테이블을 서로 다른 곳에 저장 하시려면
ATable.DataBaseName := DataBase;
BTable.DataBaseName := DataBase1;
CTable.DataBaseName := DataBase2;
이런식으로 Setting을 해 주시고요... ^^;