仓酷云

标题: ASP网页编程之ASP初级技能:在ASP中利用Oracle数据库... [打印本页]

作者: 海妖    时间: 2015-1-16 22:14
标题: ASP网页编程之ASP初级技能:在ASP中利用Oracle数据库...
asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.oracle|初级|技能|数据|数据库  Oracle是天下上用得最多的数据库之一,举动服务器网页(ASP)是一种被普遍用于创立静态网页的功效壮大的服务器端剧本言语。很多ASP开辟职员一向在思索,可否在开辟互联网使用、电子商务网站、互联网办理体系时分离利用ASP和Oracle数据库?这个成绩的谜底是一定的,我们还可使用VB会见Oracle数据库。在本篇文章中,我们将次要会商怎样利用ASP来处置Oracle数据库中数据的办法。

  在入手下手会商这个成绩前,我们必要懂得几个背景常识,OracleObjectsforOLE就是个中之一。OracleObjectsforOLE是Oracle开辟的一其中间件,它同意利用微软的OLE尺度的客户端使用程序会见Oracle的数据库。大概会有读者说,我们也能够利用ODBC会见Oracle的数据库。固然,可使用ODBC会见Oracle数据库,但我以为,OracleObjectsforOLE比ODBC更平安,并且完整撑持PL/SQL。PL/SQL是Oracle对SQL命令集的扩大,开辟职员可以使用它对非布局化的SQL命令块举行流把持和逻辑计划。假如安装的是Oracle8i数据库,我信任你已在利用OracleObjectsforOLE。假如还没有利用OracleObjectsforOLE,能够从Oracle的网站高低载它。

  别的,我们还必要懂得Oracle针对VisualBasic开辟的二个工具和一个接口:OraSession、OraDynaset工具和OraDatabase接口。OraSession工具办理使用程序的OraDatabase、OraConnection和OraDynaset,它是由ASP的CreateObject而不是OracleObjectsforOLE创立的一个工具。OraDatabase接口向Oracle数据库暗示体现用户对话,并为SQL、PL/SQL的实行供应办法。它们每一个都有一些属性和办法。比方,OraDynaset工具有BOF、EOF、Bookmark、Connection等属性和AddNew、Update、Delete、Edit、Refresh、Clone等10个办法。

  上面我们就入手下手切进主题,会商怎样利用ASP处置Oracle数据库中的数据。

  筹办事情

  我们必要甚么样的情况和工具?

  1)我利用了Oracle8i、IIS5.0、Windows2000专业版作为使用程序的开辟和运转情况。

  2)在Oracle数据库中创建一个名字为MYTABLE1或相似的表。

ID(type:number)UserName(type:varchar2)Phone(type:varchar2)Email(type:varchar2)100ColinTong999-999-8888colinjava@hotmail.com111JohnWhite888-888-8888johnw@yahoo.com101DonWod416-333-3344donwod@test.com数据的会见和存取

  1)InstantiateOO4OObject,OraSessionandinterfaceOraDatabaseforconnectingtoORACLE.

  1)初始化OracleObjectsforOLE、OraSession工具和OraDatabase接口,为毗连ORACLE数据库作筹办。

  起首,利用CreateObject创立OraSession工具,然后经由过程翻开一个与Oracle的毗连创立OraDatabase工具,以下所示:
<%
SetOraSession=CreateObject("OracleInProcServer.XOraSession")
SetOraDatabase=OraSession.OpenDatabase("",_
"username/password",Cint(0))
%>  “username”和“password”是你所利用的干系数据库的用户名和口令。

  2)创立OraDynaset工具实行SQL命令。我们可使用CreateDynaset或DbCreateDynaset创立纪录集。
<%
executeSQL
SetOraDynaset=OraDatabase.DbCreateDynaset(_
"select*frommytable1",cint(0))
%>  3)存取数据并删除创立的工具。


<%
DoWhile(OraDynaset.EOF=FALSE)
Response.write(OraDynaset.Fields("ID"))
Response.write(OraDynaset.Fields("UserName"))
...others...
......
OraDynaset.MoveNext
Loop
removeOraSession
SetOraSession=Nothing
%>  编纂数据纪录

  我们将利用OraDynaset的办法完成对数据纪录的编纂。

  1)利用SQL语句创立OraDynaset工具。
<%
创立ID=fID的纪录的OraDynaset工具。
SetOraDynaset=OraDatabase.CreateDynaset(_
"select*fromMYTABLE1whereID="&fID,cint(0))
%>  fID是想拔出更更新的纪录的ID值。

  2)实行OraDynaset更新或增加数据纪录。

<%
利用Edit办法更新ID=fID纪录的域。
或利用AddNew拔出一个新纪录
OraDynaset.Edit
OraDynaset.Fields("Phone").Value=fPhone
OraDynaset.Update删除创立的对话
SetOraSession=Nothing
%>
删除数据纪录

  假如已真正地舆解了我们在下面会商的一些办法(Edit、Update和AddNew),大概有的读者已晓得该怎样在Oracle数据库中删除纪录了。



<%
删除一切切合下面前提的纪录
OraDynaset.Delete
%>
  在Oracle8i中搜刮和更新数据纪录的代码
  1)搜刮

<%
RetriveRecProc.asp-利用ASP的OracleObjectsforOLE更新数据纪录%>
<%
界说作为OLE工具的变量
DimOraSession
DimOraDatabase
DimOraDynaset创立OraSession工具
SetOraSession=CreateObject("OracleInProcServer.XOraSession")经由过程翻开Oracle数据库的一个毗连创立OraDatabase工具
必定要利用本人的用户名和口令会见Oracle数据库
SetOraDatabase=OraSession.OpenDatabase("","user/password",_
Cint(0))

创立OraDynaset工具实行SQL语句
SetOraDynaset=OraDatabase.DbCreateDynaset(_
"select*frommytable1",cint(0))
%>
<html><body>
<H3>RetrieveAllRecordsinMYTABLE1Table(inOracle)
Usingoo4o</H3>
<tableborder=1ID="Table1">
<%
DoWhile(OraDynaset.EOF=FALSE)
Response.Write("<tr><td>")
Response.write(OraDynaset.Fields("ID"))
Response.Write("</td><td>")
Response.write(OraDynaset.Fields("UserName"))
Response.Write("</td><td>")
Response.write(OraDynaset.Fields("Phone"))
Response.Write("</td><td>")
Response.write(OraDynaset.Fields("Email"))
Response.Write("</td></tr>")
OraDynaset.MoveNext
Loop

删除OraSession
SetOraSession=Nothing
%>
</table>
<ahref="javascript:window.history.go(-1)">
BackpreviousPage</a>|
<ahref="index.html">BackhomePage</a>
</body></html>
  2)更新

<%
UpdateRecProc.asp-利用ASP的OracleObjectsforOLE更新数据纪录
%>
<%
界说作为OLE工具的变量。
DimOraSession
DimOraDatabase
DimOraDynaset

从提交的表格中猎取字段值
fID=request.form("ID")
fUserName=request.form("UserName")
fPhone=request.form("Phone")
fEmail=request.form("Email")

创立OraSession工具
SetOraSession=CreateObject("OracleInProcServer.XOraSession")

经由过程翻开Oracle数据库的一个毗连创立OraDatabase工具
SetOraDatabase=OraSession.OpenDatabase("","user/password",_
Cint(0))

创立ID=fID的纪录的OraDynaset工具
SetOraDynaset=OraDatabase.CreateDynaset(_
"select*fromMYTABLE1whereID="&fID,cint(0))
利用Edit办法更新ID=fID纪录的字段
DoWhile(OraDynaset.EOF=FALSE)
OraDynaset.Edit
OraDynaset.Fields("UserName").Value=fUserName
OraDynaset.Fields("Phone").Value=fPhone
OraDynaset.Fields("Email").Value=fEmail
OraDynaset.Update
OraDynaset.MoveNext
Loop
%>
<html><body>
<H3>UpdateARecordinMYTABLE1Table(Oracle)Usingoo4o</H3>
Therecord(ID=<%=fID%>)hasbeenupdatedsuccessfully!<br>
Youcanviewtheresult<ahref="RetrieveAllRec.asp">here</a>
<p>
<ahref="javascript:window.history.go(-1)">BackpreviousPage</a>
&bnsp;&bnsp;
<ahref="javascript:window.history.go(-2)">BackhomePage</a>
<%
删除OraSession工具
SetOraSession=Nothing
%>
</body荆?html>
  至此,我们已会商了怎样在ASP代码中利用OracleObjectsforOLE来处置Oracle数据库中的数据。

  利用存储历程

  我们已会商了怎样在ASP中会见Oracle数据库,一切的SQL语句都能够嵌进在ASP网页中。假如在ASP中利用存储历程,将更可以更无效地处置数据。我倡议读者除在ASP中嵌进SQL语句外,还应该利用PL/SQL存储历程。在Oracle数据库中创立存储历程已超越了本文章的局限,在这里就不再举行先容了。

  ASP和Oracle数据库是二种对照盛行的手艺,都有相称普遍的用户群,假如可以无机地将两者分离起来,将可以给事情带来很多便利,但愿这篇文章可以起到举一反三的感化,使读者可以更好地探究将这二种手艺分离利用的路子。
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的
作者: 海妖    时间: 2015-1-19 05:57
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
作者: 柔情似水    时间: 2015-1-25 13:00
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
作者: 再见西城    时间: 2015-2-2 22:12
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者: 蒙在股里    时间: 2015-2-8 12:24
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
作者: 兰色精灵    时间: 2015-2-25 13:29
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
作者: 因胸联盟    时间: 2015-3-7 22:00
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
作者: 山那边是海    时间: 2015-3-15 15:18
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
作者: 爱飞    时间: 2015-3-22 02:25
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2