关于从MySQL转向ADODB的方法

时间:2011-06-02 12:05:00 

Insert 和 Update

假设现在你要把下面的数据插入到数据库中.

ID = 3

TheDate=mktime(0,0,0,8,31,2001) /* 31st August 2001 */

Note= sugar why don"t we call it off

当你使用另外一个数据库的时候,你的插入操作可能不会成功。

第一个问题是每个数据库都有不同的默认日期格式。MySQL默认格式是YYYY-MM-DD ,然而其它数据库有不同的默认格式。ADODB有一个DBDate()的函数,它能将日期转换成正确的格式。

接下来的一个问题是Note字段值里的don"t 应该作为引文。在MySQL中,使用don"t 来解决这个问题,但在一些其它的数据库中(Sybase, Access, MicrosoftSQL Server)使用don""t 。qstr()解决了这个问题。

那么我们怎么使用这个函数呢? 像下面这样:

$sql = "INSERT INTO table (id, thedate,note) values ("  . $ID . ","  . $db->DBDate($TheDate) .","  . $db->qstr($Note).")";$db->Execute($sql);ADODB 也支持 $connection->Affected_Rows() (返回上次update或delete操作影响的行数) 和 $recordset->Insert_ID() (返回insert声明生成的上一个自增编号)。但要说明的是不是所有的数据库都支持这两个函数。

MetaTypes

你可以找到更多关于你调用recordset的方法FetchField($fieldoffset)所选择的每个字段(我同时使用字段和列这两个词)的信息。它将返回一个有三个属性(名称,类型和最大长度)的对象。

例如:$recordset = $conn->Execute("select adate from table");

$f0 = $recordset->FetchField(0);那么 $f0->name 的值将被设为 "adata", $f0->type 的值将被设为 "date". 如果max_length 未知,它被设为-1。

处理不同类型的数据库的一个问题是每个数据库常常用不同的名字来调用相同的类型。例如timestamp 类型在某一个数据库中叫做datetime 类型,而在另一个是叫做time类型。 因此 ADODB 有个专门的 MetaType($type, $max_length) 函数对下面的类型进行标准化:

C: character 和 varchar 类型

X: text 或者 long character (例如.多于255 字节宽度).

标签:mysql,adobe
0
投稿

猜你喜欢

  • phar绕过phar与HALT实现文件上传功能

    2023-05-25 06:47:36
  • dl+ol应用

    2008-06-21 17:04:00
  • sqlserver主键设计的注意点

    2012-08-21 10:42:44
  • Web Forms 2.0

    2008-07-24 12:47:00
  • FileSystem对象常用的文件操作函数有哪些?

    2009-11-01 15:11:00
  • JavaScript 组件之旅(四):测试 JavaScript 组件

    2009-10-13 20:32:00
  • CSS制作11种风格不同的特效文字

    2010-10-20 20:08:00
  • web前端页面性能优化

    2009-08-15 12:31:00
  • Mootools 1.2教程(19)——Tooltips

    2008-12-25 13:26:00
  • 如何创建并使用一个断开连接的记录集的数据访问页?

    2009-11-14 20:50:00
  • 怎样处理 MySQL中与文件许可有关的问题

    2008-11-27 16:12:00
  • 用 onerror 获取错误信息 js Debug

    2008-11-03 19:08:00
  • MySQL 数值类型概述int smallint tinyint

    2010-11-02 11:46:00
  • CSS解决未知高度的垂直水平居中自适应问题

    2009-03-17 17:06:00
  • Oracle存储过程入门学习基本语法

    2009-03-04 11:00:00
  • SQL 判断给定日期值(或时间段)所在星期的星期一和星期天的日期

    2011-10-24 20:14:52
  • 使用 createProcessingInstruction 方法不能输出 encoding 的解决方法

    2009-03-10 18:22:00
  • 用IE浏览器UTF-8页面是一片空白

    2009-06-14 19:55:00
  • 破解加密的网页代码方法

    2010-03-16 12:35:00
  • 教你如何在SQL Server数据库中加密数据

    2009-09-10 14:49:00
  • asp之家 网络编程 m.aspxhome.com