FreeFoxCM

在Delphi中的Access技巧集

1.DELPHI中操作ACCESS数据库(建立.mdb文件,压缩数据库) 

  以下代码在WIN2K,D6,MDAC2.6下测试通过, 编译好的程序在WIN98第二版无ACCESS环境下运行成功。

  //在之前uses ComObj,ActiveX 
  //声明连接字符串 
  Const 
  SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;' 
  +'Jet OLEDB:Database Password=%s;'; 

  //============================================================================= 
  // Procedure: GetTempPathFileName 
  // Author : ysai 
  // Date : 2003-01-27 
  // Arguments: (None) 
  // Result : string 
  //============================================================================= 
  function GetTempPathFileName():string; 
  //取得临时文件名 
  var 
  SPath,Sfile&:array [0..254] of char; 
  begin 
  GetTempPath(254,SPath); 
  GetTempFileName(SPath,'~SM',0,SFile); 
  result:=SFile; 
  DeleteFile(PChar(result)); 
  end; 

  //============================================================================= 
  // Procedure: CreateAccessFile 
  // Author : ysai 
  // Date : 2003-01-27 
  // Arguments: FileName:String;PassWord:string='' 
  // Result : boolean 
  //============================================================================= 
  function CreateAccessFile(FileName:String;PassWord:string=''):boolean; 
  //建立Access文件,如果文件存在则失败 
  var 
  STempFileName:string; 
  vCatalog:OleVariant; 
  begin 
  STempFileName:=GetTempPathFileName; 
  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; 

  //==========================================================

posted on 2008-06-17 14:44  FreeFox  阅读(134)  评论(0)    收藏  举报