|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
看到好的帖子最好up一下,以使得更多的人得到分享。进程|数据|数据库 昨天,看到一个战友问是不是可以用php挪用存贮进程,感到应当是可以的,所以,即刻停止了实行,十分的胜利!十分出乎我的料想以外!因而,写出来,给人人参考!
人人晓得,存储进程是在办事器真个一个剧本法式,履行起来速度很快,但它也有一个弱点,就是依附与一个固定命据库,移植性欠好!
我的上回文章,提到了用com组件是可以会见ado和相干的组件,不管是本人建的仍是体系带的,都可以扩大体系的功效,但如今php不撑持dcom/com+,但信任它的下一个版本应当是撑持的。
不说这么多了,咱们即刻试一下吧。
上面是我的一个复杂的存贮进程
CREATE PROCEDURE [sp_mystoreprocedure] AS
select companyname, contactname, city from customers
其实,还可以写对照庞杂的,惋惜我对此研讨不深,只好取复杂了!
上面是我的php文件
<?
define ("OLEDB_CONNECTION_STRING",
"Provider=SQLOLEDB; Data Source=zzb; Initial Catalog=Northwind; User ID=sa; Password=");
$dbc = new COM("ADODB.Connection");
$dbc->Open(OLEDB_CONNECTION_STRING);
$command = "sp_mystoreprocedure";
$rs = $dbc->Execute($command); // Recordset
$i = 0;
echo '<table cellSpacing="1" cellPadding="3" width="600" align="center" bgColor="#000000" border="0">
<tr vAlign="bottom" bgColor="#9999cc">
<th>Directive</th>
<th>Local Value</th>
<th>Master Value</th>
</tr>';
while (!$rs->EOF) {
$i += 1;
$fld0 = $rs->Fields(0);
$fld1 = $rs->Fields(1);
$fld2 = $rs->Fields(2);
print '<tr vAlign="baseline" bgColor="#cccccc">
<td bgColor="#ccccff"><b>';
print $fld0->value;
print '</b><br></td>
<td align="middle">';
print $fld1->value;
print '</td><td align="middle">';
print $fld2->value;
print '</td></tr>';
$rs->MoveNext();
}
print '</TABLE>';
$rs->Close();
?>
注重的是,你的办事器必需翻开!别的,就是不克不及写错存贮进程的称号。不然会进项致命的毛病,并且,你基本就不晓得毛病在那边,这就是php文件对毛病处置的欠好的地方,但信任它今后是会改善的。
我学php需然有很长工夫了,但发明要真正用好它,不那末轻易,但它的确也超越了我的想象,有些器材真的很奇奥,真是,不必不晓得,一用真奇奥!
毕业设计作品自己个人还是觉得比较满意的,尽管有些功能考虑的不全面,也没有很好的实现。 |
|