📄 class_access.php
字号:
<?php
class access extends database{
public function __construct($host, $user, $password, $sDatabase){
$this->database=$sDatabase;
$this->FieldsArray=array();
$this->rsArray=array();
$this->conn=new COM('ADODB.Connection') or die('create ADODB.Connection Error');
$this->result= new COM("ADODB.Recordset") or die('create ADODB.Recordset Error');
$this->connStr='DRIVER={Microsoft Access Driver (*.mdb)};PASSWORD='.$password.';DBQ='.realpath($sDatabase);
$this->conn->Open($this->connStr);
}
public function selectDB($dbName){}
public function query($sql){
$sql=iconv('utf-8','GBK',$sql);
$this->sql=$sql;
if(preg_match("/(insert|delete|update)/i",$sql)){
$this->conn->execute($sql);
return ;
}else{
($this->result->state) && ($this->result->close());
$this->result->Open($sql,$this->conn,1,3);
$this->isRsOpen=true;
for($i=0;$i<$this->result->Fields->Count;$i++){
$this->FieldsArray[$i]=$this->result->Fields[$i]->name;
}
}
$this->RecordCount=$this->result->RecordCount;
$this->result->PageSize=($this->PageSize)?$this->PageSize : $this->RecordCount;
if($this->RecordCount<1) return;
$this->PageCount=$this->result->PageCount;
$this->result->AbsolutePage=$this->getCurrentPage($this->PageStr);
$QueryNum++;
return $this->RecordCount;
}
public function getRecord(){
if($this->result->EOF || $this->result->BOF || ($this->rsQueryNum>=$this->PageSize && $this->PageSize>0)) return NULL;
for($i=0;$i<$this->result->Fields->Count;$i++){
$this->rsArray[$this->FieldsArray[$i]]=iconv('GBK','utf-8',$this->result->Fields[$i]->value);
}
$this->rsQueryNum++;
$this->result->MoveNext();
return $this->rsArray;
}
public function getVector(){
$this->result->MoveFirst();
$this->result->Move(($this->CurrentPage-1)*$this->PageSize,0);
$n=count($this->FieldsArray);
for($i=0;$i<min($this->RecordCount-($this->CurrentPage-1)*$this->PageSize,$this->PageSize?$this->PageSize : $this->RecordCount);$i++){
for($j=0;$j<$n;$j++){
$this->rsVector[$i][$this->FieldsArray[$j]]=iconv('GBK','utf-8',$this->result->Fields[$j]->value);
}
if($this->result->EOF || $this->result->BOF ) {return $this->rsVector;}
$this->result->MoveNext();
}
return $this->rsVector;
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -