<?PHP //创建ADO连接 $conn = @new COM("ADODB.Connection") or die ("ADO连接失败!"); $connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("temp/TempData.mdb"); $conn->Open($connstr); //创建记录集查询 $rs = @new COM("ADODB.RecordSet"); $rs->Open("select * from blog_Content",$conn,1,3); echo $rs->Fields["log_Title"]->Value; //输出log_Title字段 echo "<br/>"; $rs->Movenext(); //将记录集指针下移 echo $rs->Fields["log_Title"]->Value; $rs->close(); ?>
這只是個簡單的方法,同樣我們還可以Microsoft.Jet.OLEDB.4.0的方法連接,速度會更快一些。
註:conn = @new COM("ADODB.Connection") or die ("ADO連線失敗!");
需要注意一下,這裡COM 必須使用大寫,之前使用小寫Windows XP 居然出現非法操作,另這裡使用了一個@符號,他的作用主要是容錯!
其他的資料庫操作方法類似於ASP,就不作多的介紹了~
二·
用ASP和PHP的,一起做一個比較..
ASP程序
程式碼
1.conn= "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("*.mdb")
2.set conn = server.createobject("adodb.connection" )
3.conn.open conn
4.set rs = Server.CreateObject("adodb.recordset")
5.sql = "select * from 表名"
6.rs.Open sql, conn, 3, 1
7.rs.Close
PHP程式
程式碼
<?PHP 1.$conn = @new COM("ADODB.Connection") or die ("ADO连接失败!"); 2.$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("temp/TempData.mdb"); 3.$conn->Open($connstr); 4.$rs = @new COM("ADODB.RecordSet"); 5.$sql ="select * from blog_Content"; 6.$rs->Open($sql,$conn,1,3); 7.$rs->close(); ?>
两个程序都相对应....很好理解了吧.嘿....然后就是ASP和PHP操作记录集了...有什么不同,,看资料了事5~
php: $rs[name/index];
asp: rs(name/index);
php: $rs->Fields["name"]->Value / fields[index]->Value;
asp: rs.fields(index)/rs.field(name);
php中的方法和ASP中基本一致,只是写法上不一样,,注意:PHP区分大小写,写时后面一定要加;号
asp:
修改记录集中的记录
rs.AddNew 向记录集中添加一条新记录
rs.Delete 从记录集中删除一条记录
rs.{fieldName/fieldIndex}=指定值;
rs.Update 保存对当前记录所做的修改
CancelBatch 当记录集处在批量更新模式时)取消一批更新
CancelUpdate 调用Update之前)取消对当前记录所做的所有修改
UpdateBatch 当记录集处于批量更新模式时)保存对一个或多个记录的修改
遍历记录集
Move NumRecords 在记录集中向前或向后移动指定数目的记录数。
MoveFirst 移动到记录集的第一条记录
MoveNext 移动到记录集的下一条记录
MovePrevious 移动到记录集中的上一条记录
MoveLast 移动到记录集的最后一条记录
记录集对象属性
AbsolutePosition 用来设置或读取当前记录在记录集中的位置顺序号
BOF 标明当前位置在记录集中的第一条记录之前
EOF 标明当前位置在记录集中的最后一条记录之后
RecordCount 表示一个记录集中的记录总数
记录集进行分页
AbsolutePage 指定当前的页
PagePount 返回记录集中的逻辑页数
PageSize 指定一个逻辑页中的记录个数,缺省值是10
GetRows() 记录取到数组
MaxRecords 记录集的最大容量