对Tintin说的不错,可以使用CreateOleObject(ADOX.Table)进行创建,也可以使用下面的
进行创建:
procedure TDM.CreateMDB(DBName: string); // 系统需要安装 MADAC
var
CreateAccess: OleVariant;
begin
CreateAccess := CreateOleObject('ADOX.Catalog');
CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DBName);
end;
procedure TDM.DataModuleCreate(Sender: TObject);
var
sfile: string;
begin
SCreen.Cursor := crHourGlass;
try
//CurDir 是一个全局变量,存储路径
if not DirectoryExists(CurDir + 'Data') then
ForceDirectories(CurDir + 'Data');
Sfile := CurDir + 'Data/youdb.mdb';
if not FileExists(Sfile) then
begin
try
CreateMDB(Sfile);
except
Application.MessageBox('数据库创建失败!', '系统信息', 0);
Exit;
end;
ADOConn.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;' +
'Data Source=./Data/youdb.mdb;Mode=Share Deny None;Extended Properties="";' +
'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";' +
'Jet OLEDB
atabase Password="";Jet OLEDB:Engine Type=5;' +
'Jet OLEDB
atabase Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;' +
'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";' +
'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;' +
'Jet OLEDB
on''t Copy Locale on Compact=False;' +
'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
end;
end;
try
ADOConn.Connected := True;
except
Application.MessageBox('数据库连接失败!', '系统信息', 0);
Exit;
end;
with AdoQuery do
begin
Close;
SQL.Add('create table 表名 (aaa int,bbb,float)');
ExecSQL;
end;
finally
Screen.Cursor := crDefault;
end;
end;