关于从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 字节宽度).
猜你喜欢
- 一、Python的矩阵传播机制(Broadcasting)我们知道在深度学习中经常要操作各种矩阵(matrix) 。回想一下,我们
- 1. SELECT INTO 语句用途:SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中,表结构与查询结构一致。P
- 前言Blender 并不是唯一一款允许你为场景编程和自动化任务的3D软件; 随着每一个新版本的推出,Blender 正逐渐成为一个可靠的 C
- 这篇文章主要介绍了简单了解python装饰器原理及使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 本文实例讲述了python类继承用法。分享给大家供大家参考。具体方法如下:#!/usr/bin/python# Filename: inhe
- 这个游戏就是实现键盘上输入不同的数字,将圆分割成不同的几个部分,每部分用不同的颜色来实现。导入包导入随机包,pygame,系统包,time时
- 如果你经历过数据清洗的过程,你就会明白我的意思。而这正是撰写这篇文章的目的——让读者更轻松地进行数据
- Apache2 httpd.conf 中文版 # # 基于 NCSA 服务的配
- 本文简介前段时间,黄同学写了一篇《MySQL窗口实战》文章(文章如下),但是里面大多数是以实战练习为主,没有做详细的解释。传送门:MySQL
- 原文件:7.8094,1.0804,5.7632,0.012269,0.008994,-0.003469,-0.79279,-0.06468
- 简单实现平面的点K均值分析,使用欧几里得距离,并用pylab展示。import pylab as pl#calc Euclid squire
- 速查表是帮你记住东西的有效工具。Web设计师和开发者经常使用的快捷键简表会使他们在网上的工作效率大大提高。事实上,速查表就是来帮助我们把日常
- 本文实例讲述了Python3通过Luhn算法快速验证信用卡卡号的方法。分享给大家供大家参考。具体分析如下:Python3通过Luhn算法快速
- 本文实例为大家分享了Python Unittest自动化单元测试框架的具体代码,供大家参考,具体内容如下1、python 测试框架(本文只涉
- 每次调用内部的方法时,方法前面加 self.举例:例子参考百度知道里面的回答class MyClass: def __init_
- 说明本文根据https://github.com/liuchengxu/blockchain-tutorial 的内容,用python实现的
- 目录何时使用 Menu 组件?用法参数方法add_cascade(**options)add_checkbutton(**options)a
- 本文实例讲述了PHP函数按引用传递参数及函数可选参数用法。分享给大家供大家参考,具体如下:一、函数按引用传递参数1. 代码<!DOCT
- 这两天接触了onmouseover事件和onmouseout事件,一直以为它们只是简单的分别实现鼠标指针移动到元素上时触发事件和在鼠标指针移
- 1 构建 顺序依据词法名顺序 当导入一个包,且这个包 定义了 init(), 那么导入时init()将被执行。具体执行顺序: 全局变量定义时