20070620 Ruby or rails php adodb
http://www.yippeesoft.com/blog/

Rails提供了一种非常方便的数据映射机制 – 活动记录。这种机制可以使用尽可能少的代码将一个数据表映射成ruby对象。为了达到这一目的,rails给出了一些约定。如上面的例子的第四步中使用了Record作为映射数据表的类名,而如果不明确指定所映射的表名时,rails就将这个类名后加s作为表名,即records。下面的代码是一个关于活动记录的例子。

require \’rubygems\’
require_gem \’activerecord\’
class Record < ActiveRecord::Base
# set_table_name(\’tablename\’)
establish_connection(
:adapter => "mysql",
:host => "localhost",
:username => "root",
:password => "password",
:database => "autoweb_development"
)
end
record = Record.new
record.title = \’abc\’
record.content = \’aabbcc\’
record.dt = Time.now
if record.save
puts \’增加记录成功!\’
else
puts \’增加记录失败!\’
end

这是以前用PHP+ADODB
#error_reporting(0); # 不显示任何的错误讯息
define(\’ADODB_ERROR_LOG_TYPE\’,3);
define(\’ADODB_ERROR_LOG_DEST\’,\’./errors.log\’);
require_once(\’../adodb/adodb-errorhandler.inc.php\’);
require_once("../adodb/adodb.inc.php");
require_once(\’../adodb/tohtml.inc.php\’);

function GetInsertSQL($table,$record)
&leftsign;
 $sql = "SELECT * FROM $table WHERE 1 = -1";
 $rs = $this->Execute($sql);
 $insertSQL = $this->conn->GetInsertSQL($rs, $record);
 return $insertSQL;
&rightsign;
function GetUpdateSQL($table,$record,$where)
&leftsign;
 $sql = "SELECT * FROM ".$table.$where;  # 选择一笔记录以便更新
 $rs = $this->conn->Execute($sql); # 执行这个查询,并取得一个存在的记录来更新
 # 传入这个只有单一记录的资料集以及含有资料的阵列到 GetUpdateSQL函数里
 # 函数将会回传一个具有正确 WHERE 条件的 UPDATE(更新) SQL 指令
 $updateSQL = $this->conn->GetUpdateSQL($rs, $record);
 print_r($record);
 return $updateSQL;
&rightsign;

function AddNew()
&leftsign;
 $insertSQL=$this->db->GetInsertSQL($this->tblname,$_POST);
 $rs=$this->db->Execute($insertSQL);
 echo \’<Script LANGUAGE=JavaScript>\’;
 if(!$rs)
  echo "alert(\’新增失败!\’)";
 else
  echo "alert(\’新增成功!\’)";
 echo "</script>";

function Save()
&leftsign;
 $where=" where ".$this->fieldpre."id=".$_POST[$this->fieldpre."id"];
 $UpdateSQL=$this->db->GetUpdateSQL($this->tblname,$_POST,$where);
 #echo $UpdateSQL;
 $this->db->Execute($UpdateSQL);
 #$this->totalcount=$this->GetRowCounts($this->sessionsql);
 $this->Show();
&rightsign;

历史博文

标签:, , ,
十一月 21, 2007 at 4:50 下午 by yippee 1,021 次
Category: Dev
Tags: , , ,