使用操作的五计划
二、ADO方式
如果在Windows中连接数据库,ADO无疑是最常用的数据库接口。如果在一种语言中可以调用ADO API,就意味着这种语言几乎可以连接任何数据库。
在ADO中最常用的是OLE DB驱动,DB2也提供了如图2所示的OLE DB驱动。
498)this.style.width=498;\">图2由于PHP可以调用COM组件,因此,可以通过PHP的COM类来建立一个ADO对象,并通过DB2的OLE DB来连接DB2 Express C。
$conn = @new COM(\"nnection\") or die(\"ADO 对象创建失败!\");
$rs = @new COM(\"cordSet\") or die(\"ADO 记录集创建失败!\");
$conn-open(\"Provider=2;UserID=db2admin;Password=mypassword;
Data Source=test;Location=localhost;\");
$rs = $conn-Execute(\"SELECT * FROM mytable ORDER BY salary DESC;\");
$row=1;
echo \"\";
while(!$rs-EOF)
...{
echo \"\";
for($col=0;$col$rs-Fields-Count;$col++)
...{
echo \"\";
echo $rs-Fields[$col]-Name.\":\".$rs-Fields[$col]-Value;
echo \"\";
}
$row++;
echo \"\";
$rs-MoveNext();
}
echo \"\";
$rs-Close;
整体交投低迷。 $conn-Close;
?
以上代码将mytable中的数据按salary排序,并以表格形式输出到IE中。
虽然使用COM来建立ADO对象显得更直接,但如果这样用,PHP程序的跨平台特性就被破坏了。如果既想使用ADO,又想保持PHP的跨平台特性,可以使用一个开源的PHP库:ADODB。这个库可以从免费下载。
include(\"p\");
// 这里必须使用db2,通知ADODB要使用DB2的ADO连接字符串
$db = NewADOConnection(\'db2\');
$db-Connect(\"localhost\", \"db2admin\", \"mypassword\", \"test\"); // test为数据库名
$result = $db-Execute(\"SELECT * FROM mytable\");
if ($result === false) die(\"failed\");
while (!$result-EOF) ...{
for ($i=0, $max=$result-FieldCount(); $i $max; $i++)
print $result-fields[$i].\' \';
$result-MoveNext();
print \"
n\";
}
使用ADODB之前,必须使用include来引用 p。
四、利用其他语言操作DB2 Express C数据库
这种方法听起来就很奇妙。而PHP就是这个奇妙世界的中心。在PHP中可以象在Java或.net中一样调用各自的类似。
在PHP中可以通过Java类直接调用java中的任何class类。下面是一个PHP调用Java类的例子。
$stack = new Java(\'ack\'); // 可以将ack换成任何的java类
$stack-push(1);
$result = $stack-pop();
$ex = java_last_exception_get();
if (!$ex) ...{
echo \"$result\\n\";
}
$result = @$stack-pop();
$ex = java_last_exception_get();
if ($ex) ...{
echo $ex-toString();
}
java_last_exception_clear();
?
可以根据PHP的这个功能通过Java的JDBC来操作DB2数据库。这样做有一个好处,就是JDBC无需其他的库就可以访问数据库,因此,就不需要DB2的ODBC或OLE DB驱动了。关于JDBC如何连接数据库请参与相关的文档,本文不再详述。
南宁治疗子宫内膜炎哪家好乌鲁木齐治疗白癜风哪家好
老年人认知功能下降用什么药好
- 上一篇:使用往系统中添加用户物业
- 下一篇:使用的错误处理覆盖
-
清明祭祀宠物墓园受捧位置
饮食2022年06月13日
-
使用泰迪犬项圈要讲究方法位置
饮食2022年06月13日
-
使牛头梗长命的秘诀睡觉位置
饮食2022年06月13日
-
你留意过泰迪犬独自在家是否安全吗位置
饮食2022年06月13日
-
你有听过导盲犬吗它们在成为导盲犬之前是怎位置
饮食2022年06月13日