当前位置:中国站长下载文章中心数据库区ACCESS → oracle database access object

oracle database access object

减小字体 增大字体 作者:佚名  来源:不详  发布时间:2006-5-9 16:00:52

  
Calling example:
<?
$conn = OCILogon("www_cec", "webchn99", "unicorn");
#or you can just inclued file like "include("modcec_OCI_conn.php3");"

$newOda= new ODA($conn);
#################
#or you can use login method like this
#$newOda-=new ODA();
#$newOda->Logon("www","99","corn");
###############################################
$newOda->CmdString=" update test set nouse='dfs' where login_name='guoyafeng'";
if(!$newOda->Execute()) {
echo $newOda->err;
}
else
{
echo $newOda->Rows;#get the affected row number.
}
#or you can call execute like this####
/*
$newOda->Execute(" update test set nouse='dfs' where login_name='guoyafeng'");
*/
#############################

#the following demostrate the open method.
$newOda->Open("select * from test")) or die $newOda->err;

#Get data from RS
echo "count is" .$newOda->Rows;
for($i=0;$i<$newOda->Rows;$i++)
for($j=0;$j<$newOda->Cols;$j++)
{
echo $newOda->RS[$i][$j];

}


$newOda->Logoff();
?>
<?
/********************************************************************************#
#File Name:ODA.php3#
#Author:Guo Yafeng#
#Function: Oracle DB Access.#
#Maint History:#
#Sept 18,2000 first release.#
##
##
#********************************************************************************/


/********************************************************************************#
#Object interface description:#
#Properties:#
#connConnection Object#
#err_noError No#
#errError Description#
#CmdStringSQL Statements to execute.#
#RowsAffected Rows.#
#RSReturn value array.
#Cols#
##
#Method:#
#OpenExecute the CmdString and return value#
#ExecuteExecute the CmdString.#
#********************************************************************************/

file://$conn = OCILogon("www_ce", "ceonline99", "wsgp");
// $conn = OCILogon("www_cec", "webchn99", "unicorn");
//if ($SERVER_NAME == "")
//$SERVER_NAME = $HTTP_HOST;

class ODA
{




function ODA($cn="") {

if($cn!="")
$this->conn=$cn;
return TRUE;

}

function Logon($user,$pass,$db) {

if(!($this->conn = OCILogon($user, $pass, $db))){

$this->err_no=106;
$this->err="Error 106: Failed to logon.";
return FALSE;
};

return TRUE;

}
function Open($sql="") file://$this->CmdString
{
if($this->conn=="") {
$this->err_no=100;
$this->err="Error 100,Connection Object Required.";
return FALSE;
}

if($sql=="" and $this->CmdString=="") {
$this->err_no=101;
$this->err="Error 101,SQL Statement Required.";
return FALSE;
}
if($sql=="")
$sql=$this->CmdString;
if(!($cursor=OCIParse($this->conn,$sql))) {
$this->err_no=102;
$this->err="Server Internal Error: Failed to parse SQL Statement.";
return FALSE;
}

if(!OCIExecute($cursor)){
$this->err_no=103;
$this->err="Server Internal Error: Failed to execute SQL Statement.";
return FALSE;
}
$this->Rows=0;
while(OCIFetchInto($cursor,$this->RS[$this->Rows])){

$this->Rows++;

}
$this->Cols=OCINumCols($cursor);

if($this->Rows==0) {

$this->err_no=104;
$this->err="Warning: No rows affectted.RS result is not available.";
}

OCIFreeStatement($cursor);

return TRUE;
}


function Execute($sql="") {
if($this->conn=="") {
$this->err_no=100;
$this->err="Error 100,Connection Object Required.";
return FALSE;
}

if($sql=="" and $this->CmdString=="") {
$this->err_no=101;
$this->err="Error 101,SQL Statement Required.";
return FALSE;
}
if($sql=="")
$sql=$this->CmdString;

if(!($cursor=OCIParse($this->conn,$sql))) {
$this->err_no=102;
$this->err="Server Internal Error: Failed to parse SQL Statement.";
return FALSE;
}


if(!OCIExecute($cursor)){
$this->err_no=103;
$this->err="Server Internal Error: Failed to execute SQL Statement.";
return FALSE;
}
$this->Rows=OCIRowCount($cursor);
OCIFreeStatement($cursor);

return TRUE;
}
function LogOff(){

if(!OCILogoff($conn)){

$this->err_no=105;
$this->err="Server Internal Error: Failed to logoff database.";
return FALSE;
}
return TRUE;

}
}
?>    oracle