DELPHI中操作ACCESS数据库

2016-02-19 13:29 43 1 收藏

今天图老师小编要跟大家分享DELPHI中操作ACCESS数据库,精心挑选的过程简单易学,喜欢的朋友一起来学习吧!

【 tulaoshi.com - 编程语言 】

  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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  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=''

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  // Result : boolean

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

  function CreateAccessFile(FileName:String;PassWord:string=''):boolean;

  //建立Access文件,如果文件存在则失败

  var

  STempFileName:string;

  vCatalog:OleVariant;

  begin

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  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;

来源:http://www.tulaoshi.com/n/20160219/1604446.html

延伸阅读
不用JDBC:ODBC bridge直接操作Access 数据库 /* 用JDBC来连接数据库有很两种方式,如 1JDBC:ODBC bridge, 2直接连接方式. 第二种方式有很多好处,它可以独立于依赖于系统的odbc数据源,存储数据的database 可以自由地移动,例如对个人站点的数据库更具有优势.这里我谈谈平时自己用这种方式 开发的感受.希望对大家有所帮助. 运行环境:Win2...
标签: Delphi
  随着Internet的普及和发展,Web成了新的商家必争之地,各家厂商都希望通过Internet技术与最终用户建立直接的联系,比如在Web上向用户推销产品、方便用户在网上查询自己喜欢的商品并提供网上订购服务等,于是产生了CGI(公用网关接口)、ASP等一系列生成动态网页的方法。CGI是最早生成动态网页的方法,几乎所有的...
str:=Table1.Tablename; Query1.Close; Query1.SQL.Clear; Query1.SQL.Add(format('select * from %s',[Str])); Query1.Open;
标签: ASP
  我用的数据库是Access2000的,系统为Win2000 Advance Server.今天在程序调试中遇到了以下几个怪现象: 1.如果Access程序把调试的程序处于打开状态时(不一定是改表或表结构的界面),程序中把response.buffer设为true, 则程序在用Update更 新时老是说找不到数据。当Access关闭时又正常了。 2.如果一个文件什么都没输出,而把response...
大家都知道,数据库的安全性是很重要的,它直接影响到数据库的广泛应用。用户可以采用任意一种方法来保护数据库应用程序,也可以将几种方法结合起来使用。利用Access数据库自身提供的加密功能及其他保护方法是很容易的,我就不多说了。在Access数据库中,嵌入了一种很强的数据库操作语言——Visual Basic语言,所以可以采用Visual Basic编写程...

经验教程

621

收藏

100
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部