2013-10-13 1 views
1

나는 액세스 데이터베이스를 만들 필요가있는 델파이 프로젝트를 작성 중이다. 목적으로 ADOX를 사용하고 있습니다.델파이 앱에서 생성 된 .mdb (액세스 데이터베이스)가 이미 존재하는지 여부를 APP에서 결정하는 방법은 무엇입니까?

db 처리에 관한 한 초보자이며 net에 대한 자습서를 따라 CreateDatabase 프로 시저를 통해 성공적으로 만들었습니다. 내가하고 싶은 일은 주어진 이름을 가진 데이터베이스가 존재하지 않는지 확인한 다음에만 db를 생성하는 것입니다.

Procedure CreateDatabase(DB_Name:String); 
var 
path:String; 
dataSource : String; 
DB : String; 
Begin 
    Path := WindowsDirectory;{Its another function} 
    delete(Path, 2, length(path)); 
    DB := Path+':\'+DB_Name+'.mdb'; 
    DataSource := 
    'Provider=Microsoft.Jet.OLEDB.4.0' + 
    ';Data Source=' + DB + 
    ';Jet OLEDB:Engine Type=4'; 
    Form1.ADOXCatalog1.Create1(DataSource); 
End; 

나는 액세스 DBS에이 MySQL의 DBS에 대한 질문의 종류,하지만 아무도 본 적이없고 그 문제에 대한 해결책을 찾을 수 있었다. 내가 원하는 것을

의사 코드 양식 :이 문제에 대한

if (DatabaseExists(DB_Name)) then 
    do_something 
else 
    create_db 

도움이 도움이 될 것입니다. 감사합니다 :)

감사 Priyabrata Chakraverti

+1

시스템 드라이브의 루트에 파일을 만들 권한이 없습니다. 그리고 ExtractFileDrive가 있습니다. –

+4

'System.SysUtils'에서'FileExists'와'GetHomePath'을보세요. –

+0

나는 보통 파일로 그것을 만든다. 고맙습니다 :) – Priyabrata

답변

3

를 데이터베이스가 단순히 데이터베이스 파일이 존재하는지 확인하는 문제이다 존재하는지 확인. 위의 설명에서 Marcus Adams가 제안한 것처럼 Delphi 함수 FileExists이 트릭을 수행해야합니다.

관련 문제