gbk版的sp最大好处莫过于用在access了

#1 凌风

//access数据库连接操作类
//凌风网维http://www.lflflf.cn
//作者[凌风]
class lfAccessdriver//定义类
{
var $databasepath,$constr,$username,$prefix,$password,$conn;
function __construct(){
$this->databasepath=""; //数据库名
$this->prefix=""; //数据库表前缀,没有就留空
$this->username=""; //数据库用户名
$this->password=""; //数据库密码
}
function __destruct(){
odbc_close($this->conn);
}
function connect(){
$this->constr="driver=microsoft access driver (*.mdb); dbq=" . realpath($this->databasepath);
$this->conn=@odbc_connect($this->constr,$this->username,$this-password,sql_cur_use_odbc);
if($this->conn){
return $this->conn;
}else{
echo "数据库连接失败!";
die;
}
}
function query($sql)//送一个查询字符串到数据库中
{
return @odbc_do($this->conn,$sql);
}
function fetch_array($sql)//从access数据库中返回一个数组
{
return @odbc_fetch_array($this->query($sql));
}
function fetch_row($query) //传回一行
{
return @odbc_fetch_row($query);
}
function get_num($sql)//取得记录总数,这个dobc_num_rows好像取不回来,可使用最底下那个
{
return @odbc_num_rows($this->query($sql));
}
function close()//关闭数据库连接函数
{
@odbc_close($this->conn);
}
public function select($table,$condition="where 1=1",$sort="",$limit="",$field="*")//取得记录列表-> 表名,条件,排序,取记录范围,所取字段范围
{
$sql="select ".$field." from `".$this->prefix.$table."` ".$condition." ".$sort;
$query=$this->query($sql);
@odbc_longreadlen($query,99999);
$n=1;
if($limit==""){
while(@odbc_fetch_row($query)){
for($i=1;$i<=@odbc_num_fields($query);$i++)
{
$field_name=@odbc_field_name($query,$i);
$info[$field_name]=@odbc_result($query,$field_name);
}
$getlist[$n]=$info;
$n++;
}
}else{
$temp=explode(',',$limit);
for($j=$temp[0];$j<=$temp[1];$j++){
@odbc_fetch_row($query,$j);
for($i=1;$i<=@odbc_num_fields($query);$i++)
{
$field_name=@odbc_field_name($query,$i);
$info[$field_name]=@odbc_result($query,$field_name);
}
$getlist[$n]=$info;
$n++;
}
}
return $getlist;
}

public function insert($table,$field,$values)//插入记录函数->表名,字段,值
{
$sql="insert into `".$this->prefix.$table."` (".$field.") values (".$values.")";
$this->query($sql);
}

public function update($table,$field,$values,$condition="")//更新记录函数->表名,字段,值,条件
{
$sql="update `".$this->prefix.$table."` set `".$field."` = ".$values." ".$condition;
$this->query($sql);
}

public function delete($table,$condition)//删除指定条件的记录函数->表名,条件
{
$sql="delete from `".$this->prefix.$table."` ".$condition;
$this->query($sql);
}

public function recordsize($table,$condition="")//取得指定条件的记录数函数->表名,条件
{
$sql="select count(*) as num from `".$this->prefix.$table."` ".$condition;
$query=$this->query($sql);
$this->fetch_row($query);
$num=@odbc_result($query,1);
return $num;
}
}
?>


目前我只用import进去,有没有什么好办法加进到sp里面呀。

2010-06-28 13:48:12

#2 jake

SP3之所以没有选上选择ACCESS是因为PHP官方本身对ACCESS并没有支持,楼上是的通过ODBC来进行支持。

其实可以参考SP3里面的DRIVER,看看其他的数据库驱动类如何实现的,就可以参照来进行增加一个access的驱动了。

2010-06-28 18:51:07