delphi创建Access数据库,请高手们写出相应的代码,谢谢了.分不多了,20分.

解决方案 »

  1.   

    事先做好一个空的库,想建库的时候把它COPY过来就得了,好像是这样吧好像不是最好的.选择用SQL语句不知道行不行
      

  2.   

    就是不用copy空库的方法.用delphi语句创建一个新的access数据库.请高手们出招.
      

  3.   

    onst
      SConnectionString       = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
                                    +'Jet OLEDB:Database Password=%s;';
    function CreateAccessFile(FileName:String;PassWord:string=''):boolean;
    //建立Access文件,如果文件存在则失败
    var
      STempFileName:string;
      vCatalog:OleVariant;
    begin
      STempFileName:='D:\123.MDB';
      try
        vCatalog:=CreateOleObject('ADOX.Catalog');
        vCatalog.Create(format(SConnectionString,[STempFileName,PassWord]));
        result:=CopyFile(PChar(STempFileName),PChar(FileName),True);
        DeleteFile(STempFileName);
      except
        result:=false;
      end;
    end;
      

  4.   

    procedure CreateAccessFile
    var cAccess:variant;
        ok:Boolean;
    begin
      try
        if FileExists(edit1.text) then deletefile(edit1.text);
        CAccess := CreateOleObject('ADOX.Catalog');
        CAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+edit1.text );
        ok:=True;
      except
         ok:=False;
      end;
      if ok then ShowMessage('成功')
      else ShowMessage('失败');
    end;
      

  5.   

    function TFStructor_Dispatch.CreateDB:boolean;
    var
     DBE:_DBEngine;
     p1:widestring;
     p2:olevariant;
     fn1:string;
    begin
       fn1:=extractfilepath(application.exename)+'Structor.mdb';
       p1:=';LANGID=0x0804;CP=936;COUNTRY=0';
       p2:=dbEncrypt;
       if FileExists(fn1)=true then
       begin
          result:=true;
          exit;
       end;
       try
          DBE:=CoDBEngine.Create;       
          DBE.CreateDatabase(fn1,p1,p2);
          result:=true;
       except
       result:=false;
       application.MessageBox('无法创建数据库','错误',MB_OK+MB_IconError);
       end;
    end;需要导入DAO类库,并useDAO_TLB,oleserver, ComCtrls单元