DELPHI中操作ACCESS技巧集

时间:2010-01-31 10:00:59  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:ffffff" cellpadding="5" width="99%" bgcolor="#ffffc0" border="1">//声明连接字符串ConstSConnectionString       = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'+'Jet OLEDB:Database Password=%s;';//================================================================...
  正文:1.Delphi中操作ACCESS数据库(建立.mdb文件,压缩数据库)

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

//声明连接字符串
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(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;
  
  //========================================================================
// Procedure: CompactDatabase
// Author   : ysai
// Date     : 2003-01-27
// Arguments: AFileName,APassWord:string
// Result   : boolean
//=============================================================================
function CompactDatabase(AFileName,APassWord:string):boolean;
  //压缩与修复数据库,覆盖源文件
var
  STempFileName:string;
  vJE:OleVariant;
  begin
    STempFileName:=GetTempPathFileName;
    try
      vJE:=CreateOleObject('JRO.JetEngine');
      vJE.CompactDatabase(format(SConnectionString,[AFileName,APassWord]),
      format(SConnectionString,[STempFileName,APassWord]));
      result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
      DeleteFile(STempFileName);
      except
        result:=false;
      end;
    end;


2.ACCESS中使用SQL语句应注意的地方及几点技巧
以下SQL语句在ACCESS XP的查询中测试通过
建表: "DELPHI中操作ACCESS技巧集"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/Delphi/12681.html


关键字:

关于《DELPHI中操作ACCESS技巧集》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td