仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 368|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页设计在ASP中利用Oracle数据库技能

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:43:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。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.  
  
  初始化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创立纪录集。
  <%
  executeSQLSetOraDynaset=OraDatabase.DbCreateDynaset(_"select*from
  mytable1",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
  删除OraSessionSetOraSession=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.MoveNextLoop
  %>
  <html>
  <body>  <H3>UpdateARecordinMYTABLE1TableOracle)Usingoo4o</H3>
  Therecord(ID=<%=fID%>)hasbeenupdatedsuccessfully!<br>
  Youcanviewtheresult<ahref="RetrieveAllRec.asp">here</a>
  <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数据库是二种对照盛行的手艺,都有相称普遍的用户群,假如可以无机地将两者分离起来,将可以给事情带来很多便利,但愿这篇文章可以起到举一反三的感化,使读者可以更好地探究将这二种手艺分离利用的路子。
SQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。
若天明 该用户已被删除
沙发
发表于 2015-1-19 21:43:09 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-25 19:36:19 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
深爱那片海 该用户已被删除
地板
发表于 2015-2-3 17:42:56 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
小妖女 该用户已被删除
5#
发表于 2015-2-9 04:17:52 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
小魔女 该用户已被删除
6#
发表于 2015-2-26 21:36:24 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
谁可相欹 该用户已被删除
7#
发表于 2015-3-8 18:09:13 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
再现理想 该用户已被删除
8#
发表于 2015-3-16 09:52:35 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
蒙在股里 该用户已被删除
9#
发表于 2015-3-22 22:10:26 | 只看该作者
那么,ASP.Net有哪些改进呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-6 17:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表