例程如下,其中fsPath是我在程序中定义的一个Form级的全局变量,你可用其他变量或常量代替。procedure TForm1.Button2Click(Sender: TObject);
var
  TempAccessDB: OleVariant;
  s: String;
begin
  if not FileExists(fsPath) then begin
    TempAccessDB := CreateOleObject('ADOX.Catalog');
    try
      TempAccessDB.Create('Provider=Microsoft.Jet.OLEDB.4.0;' +
                          'Data Source=' + fsPath);
    except
      ShowMessage('Failed!');
      Exit;
    end;
  end;
  s := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;' +
       'Data Source=' + fsPath + ';Mode=Share Deny None;' +
       'Extended Properties="";Jet OLEDB:System database="";' +
       'Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";' +
       'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;' +
       '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:Don''t Copy Locale on Compact=False;' +
       'Jet OLEDB:Compact Without Replica Repair=False;' +
       'Jet OLEDB:SFP=False';
  with ADOConnection1 do begin
    Connected := False;
    ConnectionString := '';
    ConnectionString := s;
    try
      Connected := True;
    except
      ShowMessage('Not Connected!');
    end;
  end;
end;

解决方案 »

  1.   

    老大,什么是 'ADOX.Catalog'  编译时出错,说没定义
      

  2.   

    我有想过这个问题?
    search...
      

  3.   

    不要使用ADO,使用DAO的CreateDatabase方法建立数据库,永CreateTable建立数据表,用CreateField建立字段,然后table.fields.append 字段,db.tabledefs.append 表,简单的很。
      

  4.   

    给你个简单的方法,但需要你的机器装了ACCESS;
    在SERVERS面板上取一个ACCESSAPPLICATION放到FORM上
    然后;;;
    AccessApplication1.NewCurrentDatabase('c:\test.mdb');
      AccessApplication1.Run....
      

  5.   

    To ourer2000(天外流星):
       没有找到ACCESSAPPLICATION  我是delphi 5.0