ADODB , ADODB_lite

转载 2006年06月13日 17:45:00
ADODB是一套功能强大的数据库抽象类,可以支持很多种数据库,功能很多。但由于它太过于庞大,网上很多人感觉它比较慢,而这时就产生了简化版的ADODB,也就是 ADODB_lite ,但ADODB_lite 与ADODB事实上没有任何关系,它不是把ADODB删除一些代码而直接得到的,它们是独立的两个工程,只是ADODB_lite使用了一个简化的ADODB接口。网上的测试人员认为,ADODB_lite只需要ADODB 1/6的内存,而且工作速度比 ADODB 快很多。
以ADODB_lite 官方资料说:基于 ADODB的网站几乎可以不用修改,直接用于 ADODB_lite 。但事实却不是这样幸运。因为ADODB_lite 只有部分 ADODB的功能。如果你用了ADODB中的那些“高级”功能,那你就不得不改你的代码了。

以下列出主要的 ADODB中有,而 ADODB_lite 中没有的函数


UserDate       
UserTimeStamp  
UnixDate
UnixTimeStamp
PageExecute    
CacheExecute
CachePageExecute
GetUpdateSQL
GetInsertSQL

简要说明一下如果改写
UserDate
 摘要:这个功能是回一个格化式的日期字符串,默认为 "Y-m-d"
 ADODB中是这样用
 $db->UserDate($rs->fields['theDate'],$fmtstr);
 
 ADODB_lite 中
 date($fmtstr,strtotime($rs->fields['theDate']));

 例子:
  date('Y-m-d H:i:s',strtotime($rs->fields['theDate']));

 说明:$fmtstr 为日期格式化字符串。lite版中必须需用strtotime.

UserTimestamp
  摘要:这个函数返回一个长时间。如:2005-09-10 08:38:23 这个比较简单。(注:ADODB的这个功能是在 ADORecordSet 上的,让人有点难于理解)
  ADODB
    $rs->UserTimestamp($rs->fields['thetime']);
  
  ADODB_lite
    date('Y-m-d H:i:s',strtotime($rs->fields['thetime']));
  
  说明:这 UserDate 与 UserTimestamp 的处理方法实际上其实是一样的。

PageExecute
  摘要:这个方法相当常用。分页查询功能,指定一个每页多少个记录,指定返回第几页。page 是以1 为开始的。

  ADODB
    $rs = $db->PageExecute($sql , PAGE_SIZE, $page);

  ADODB_lite 的替代方法:
    $rs = $db->SelectLimit($sql ,PAGE_SIZE, ($page -1) * PAGE_SIZE);
  
  说明:ADODB_lite中用 SelectLimit 来替代 PageExecute 。其实这两种方法的差别不大。改动的地方也不多。

GetInsertSQL
  摘要:用数组的方式来指定需要插入的字段与值,再于数库表对应的RecordSet一起得到"insert into" SQL. 再用 ADOConnection.Execute($sql);执行插入语句

  ADODB
    $rs = $db->Execute("select * from users where userid = 0 ");
    $record = array();
    $record['userid'] = 1;
    $record['username'] = 'user_name';
    $sql = $db->GetInertSQL($rs,$record);
    $db->Execute($sql);

  ADODB_lite 替代方法
    没有什么好的替代方法,只有自己构建出 insert sql ,再执行了。
    $sql ="insert into users (userid,username) values(1,'user_name')";
    $db->Execute($sql);
  
  说明:GetInsertSQL相当方便,特别是在插入一个大表的情况下。但ADODB_lite中没有。只能自己构建。


GetUpdateSQL
  摘要:对 GetInsertSQL 差不多。只是这个得到的是 Update SQL .

  ADODB
    $rs= $db->Execute("select * form users where userid = $userid");
    if ($rs->EOF) {
        die("没有这个用户的资料,错误!");
    }
    $record = array();
    $record['passwd'] = md5($pass1);
    $sql = $db->GetUpdateSQL($rs,$record);
    $db->Execute($sql);

 ADODB_lite 替代方法
   也只有自己构建sql
   $pass1 = md5($pass1);
   $sql = "update users set passwd= $pass1 where userid = $userid";
   $db->Execute($sql);

 说明:GetUpdateSQL相当方便,特别是在更新一个大表的情况下。但ADODB_lite中没有。只能自己构建。


总的来说,也就这些了。看来 ADODB_lite 牺牲了ADODB的部分功能要提高了速度的。至于要用 ADODB 还是 ADODB_lite 还是看情况了。

ADODB介绍及其连接mysql简单实例

首先你想要理解数据库抽象层的概念,理解这时候你就知道ADODB的作用了,php虽然对大多数数据库都支持,但是每种数据库都有很大差异,这样当你更换数据库的时候,就要改动大量代码,ok,有了ADODB你完...
  • tianjingang1
  • tianjingang1
  • 2017年01月12日 10:14
  • 529

PHP ADODB1.99版手册 (修正版)

PHP ADODB 1.99版手册中文翻译 感谢记事PHP ADODB 1.99版手册中文翻译 感谢记事PHP ADODB 1.99版手册中文翻译 翻译作者:Tripc 修正作者:heiyelu...
  • heiyeshuwu
  • heiyeshuwu
  • 2005年06月22日 11:16
  • 3809

ADODB在PHP环境中的下载和安装

一 介绍 本文介绍在PHP+MYSQL环境下下载和安装ADODB 首先下载adodb5,并解压,需要将adodb5文件夹拷贝到执行程序的同级目录下。 (1)载入(include)adodb.in...
  • chengqiuming
  • chengqiuming
  • 2017年11月22日 10:41
  • 75

在Excel VBA中如何能够使用ADODB对象?

首先要在Excel中做一下设置: 在Tools菜单中选择References菜单项,勾选其中的“Microsoft ActiveX Data Objects 2.8 Library”,即可。 ...
  • zw_2011
  • zw_2011
  • 2013年03月11日 11:43
  • 2267

分析 "ADO" "ADODB" "ADODC" 之间的区别与联系

在敲学生信息管理系统的时候,通过查阅了解了一些关于 ADO / ADODB / ADODC / 的简单描述,想想将他们对 比着总结一下更容易理解记忆、尽管都是一些浅显的东西,不过对像我这样的菜鸟们还是...
  • u010282984
  • u010282984
  • 2013年09月08日 21:05
  • 3367

ADODB详解

17.4  ADODBPHP在数据库的支持上是很令人称道的,几乎所有的知名数据库系统都有对应的函数库支持,而且支持得很完整。但遗憾的是,每一群数据库支持函数无论在名称或参数结构上,都有很大的差异,这使...
  • wudeyong1986
  • wudeyong1986
  • 2008年03月30日 10:28
  • 2516

php使用adodb类库操作数据库-类的封装

adodb5下载地址 下载好的adodb文件夹放在程序根目录下。 conn下的found.database.php文件 ...
  • pangzimin
  • pangzimin
  • 2014年01月24日 13:46
  • 1077

c# 利用ADODB连接ORACLE数据库

连接字符串 string constr=@  "Driver={Microsoft ODBC for Oracle};Server=memsmts;Uid=mts;Pwd=caitmts;";  ...
  • mycoolme5
  • mycoolme5
  • 2017年08月25日 16:41
  • 398

VBS ADODB操作帮助手册

http://www.w3schools.com/ado/met_rs_open.asp
  • v2nero
  • v2nero
  • 2013年10月12日 17:32
  • 736

adodb分页函数初读

 用了adodb有段时间了,发现还没有对adodb还很不了解,今天特地看了下adodb的分页函数,在此记录下,遗漏或不对的地方希望看到这个文章的朋友们能够指正和讨论。 在adodb中,声明一个对象($...
  • zcl8624
  • zcl8624
  • 2008年05月05日 13:17
  • 2192
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: ADODB , ADODB_lite
举报原因:
原因补充:

(最多只允许输入30个字)