나는 액세스 데이터베이스를 만들 필요가있는 델파이 프로젝트를 작성 중이다. 목적으로 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
시스템 드라이브의 루트에 파일을 만들 권한이 없습니다. 그리고 ExtractFileDrive가 있습니다. –
'System.SysUtils'에서'FileExists'와'GetHomePath'을보세요. –
나는 보통 파일로 그것을 만든다. 고맙습니다 :) – Priyabrata