当前位置:首页 > php编写的ACCESS处理类

php编写的ACCESS处理类

点击次数:1599  更新日期:2011-01-04
\n

在做项目中要用到ACCESS数据库,所以就写了一个ACCESS处理类.函数名跟ADODB类一样.

\n


\n
<?php
/*
*ACCESS数据库操作类
*2008-3-26
*LIQUAN
*dsn = “DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=”.PATH_ROOT.”databasedata.mdb”;
*conn=new Access();
*conn->Connnect(dsn);
*conn->GetArray(“select * from test”);
*/

class Access
{
var conn;
var fieldsName;

function Access()
{

}

//connection
function Connect(dsn)
{
this->conn = new COM(“ADODB.Connection”) or die(“Cannot start ADO”);
this->conn->Open(dsn);
}

//返回一个
function GetOne(sql)
{
rs = this->conn->Execute(sql);
while (!rs->EOF)
{
value=rs->Fields(0)->value;
rs->MoveNext();
}
rs->Close();
rs=null;

if(!empty(value))
{
return value;
}
else
{
return “”;
}
unset(value);
}


//返回大数组
function GetArray(sql)
{

rs = this->conn->Execute(sql);
num_columns = rs->Fields->Count();
rowcount = 0;
while (!rs->EOF)
{
for (i=0; i < num_columns; i++)
{
fieldName[rowcount][rs->Fields(i)->name]= rs->Fields(i)->value;
}
rowcount++;
rs->MoveNext();
}
rs->Close();

rs=null;
if(!empty(fieldName))
{
return fieldName;
}
else
{
return “”;
}

unset(fieldName);
}

//返回小数组
function GetRow(sql)
{
rs = this->conn->Execute(sql);
num_columns = rs->Fields->Count();

while (!rs->EOF)
{
for (i=0; i < num_columns; i++)
{
fieldName[rs->Fields(i)->name]=rs->Fields(i)->value;
}

rs->MoveNext();
}
rs->Close();

rs=null;
if(!empty(fieldName))
{
return fieldName;
}
else
{
return “”;
}
unset(fieldName);

}

//execute SQL
function Execute(sql)
{
if(this->conn->Execute(sql))
{
return true;
}
else
{
return false;
}
}

function Close()
{
this->conn->Close();
}

function __destruct()
{
// this->conn->Close();
}



}

?>

\n