<marquee width=358>欢迎来到月影社区,希望这里可以成为您美丽的梦幻花园,如果你觉得这里好请分享给您的朋友!- wf66.com</marquee> 将月影社区设置为您的首页将月影社区地址加入到您的收藏栏
月影社区时尚音乐音乐查询IP手机许愿之瓶最新更新文件加密访客留言爱音乐
欢迎您,首页 >> 信息中心 >> ASP基础讲座(下)

请输入您关键字:


ASP基础讲座(下)

推荐查看本文HTML版本


       当我们需要同浏览器交互的时候,有时少不了数据库。因为只有用数据库才可能大量、快速地处理信
息。使用ASP不仅意味着你可以读取Access和SQL Server的数据库,同时也意味着你可以读取其它ODBC(Open
Database Connect,开放式数据库互联)兼容的数据库。为了在ASP中访问数据库,我们将接触一个新名词—
—ADO(Active Data Object,活动数据对象)。
ADO是一种操作Microsoft所支持的数据库的方法,有些类似于以前在VB中听说过的DAO(Data Access
Object,数据访问对象)和RDO(Remote Data Object,远程数据对象)。在ASP中,ADO可以看作是一个服务器
组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据
库复杂的操作。在这里我们所要学的是使用这些对象的方法,具体的操作步骤可以归纳为以下几步:
(一)创建数据库源名(DSN)
(二)创建数据库链接(Connection)
(三)创建数据对象
(四)操作数据库
(五)关闭数据对象和链接
下面具体叙述每一步的作法:
一、创建数据源名
用ODBC时,经常见到DSN这个名词,它究竟是什么,有什么重要作用呢?DSN(Date Source Name)即数据
源名称。我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通
过ODBC操纵驱动程序的数据库。比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,
也可以在我们的程序(如VB编的)中间对一个Access的MDB数据库加、删、改记录。而且我们根本不用知道这
个数据库是放在哪里的。我们只要写出SQL语句,ODBC驱动程序就会帮我们做一切事情。我们在给ODBC驱动程
序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。如果数据库的平台变了,比如我们改用了
SQL Server的数据库,只要其中表的结构没变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行
了。由此可见,DSN是应用程序和数据库之间的桥梁,要通过ODBC访问数据库,前提就是我们必须配置好DSN
(即架好桥梁)。一个DSN必须包含一些信息:
DSN的名字:就是给这座桥取个名字,当程序访问数据库时,给系统传的就是这个名字,而不是数据库的
实际名称。
ODBC驱动程序类型:只有指出驱动程序类型,在我们操作数据库时,系统才会知道调哪个ODBC驱动程序
来服务。
数据库:你必须指定这座桥到底连接的是哪个数据库,但不同的数据库系统,指定数据库名字的方法有
些不同。
这座桥是架在系统之中的,所以WIN95(NT)提供了一个工具来完成这件事,即是控制面板中的32 BIT [月影社区 http://wf66.com/]
ODBC,共有三类,即用户DSN、系统DSN、文件DSN。我们一般就用系统DSN,因为这样可以让所有在该系统上
操作的人都能使用这个DSN。
打开Windows的“控制面板”,找到图标“32位ODBC)”(有一些系统上叫“ODBC”、“32bit ODBC”),
双击,出现(如图一)对话框,选中标签“系统DSN”,点击“新建”,选驱动程序为Microsoft Access MDB
,单击“完成”,弹出对话框(如图二),输出“Data Source Name”为“dsn1”,单击“OK”,再单击“
选择数据库”,选中你要使用的数据库,例如“C:\b1.mdb”,这样就OK了。以后我们就用“dsn1”来访问数
据库“c:\b1.mdb”,而不直接用文件名“C:\b1.mdb”,这样做的好处是,一旦我们改变了文件名或存放地
,就不用再一个一个地修改程序中所有该数据库的名称,而只需修改DSN中的配置就可以了。
二、创数据库链接(Connection)
用过VB的人都知道,DAO中有链接(Connection),RDO中有odo Connection。链接用以保持一些关于正在
访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据,必须首先创建与数据库的链接,
其语法如下:
set Mconn=Server createObject(“ADOBDCONNECTION”)
这条语句创建了链接对象mConn,接下来:
mConn.Open “dsn1”,“vsername”,“password”
这条语句打开链接,用到了DSN,本例为“dsn1”。其后的两个参数分别是访问数据库的用户名和口令,
为可选参数。
注意:必须有以上两个小步骤,因为链接对象的创建与打开是两回事,只有打开了才真正可以用。
三、创建数据对象(Record Set)
ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属性和方法,灵活
运用,可以达到许多好的效果。与DAO中的一样,Record Set保存的是一行行的记录,并标有一个当前记录。
以下是创建方法:
Set Record Set=mConn.Execute(sqtStr)
这条语句创建并打开了对象Record Set,其中mCon是先前创建的链接对象,sqtStr是一个串,代表一条
标准的SQL语句,例如:
sqlStr=“SELECT * FROM tab1”
Set Record Set=mConn.Exe cute(sqlStr)
这条语句执行后,对象Record Set中就保存了表tab1中的所有记录。在ASP文件中如何引用返回结果,本
文将在文末给出一个实例说明。
四、操作数据库
刚才我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象。我们说Execute方法的参
数是一个标准的SQL语句串,所以我们可以利用它方便地执行数据插入、修改、删除等操作,例如:
sqlStr=“INSERT INTO tab1 VALUES(1,2)”
mConn.Execute(sqlStr)
/执行插入操作
sqlStr=“UPDATE tab1 SET field1=3”
mConn.Execute(sqlStr)
/执行修改操作
五、关闭数据对象和链接对象
在使用了ADO对象之后,一定要记住关闭它,因为它使用了一定的服务器资源。通过调用方法close实现
关闭,然后再释放它。
Record Set.close
Set Record Set=Nothing
/关闭创建的数据对象
mConn.close
Set mConn=Nothing
/关闭创建的链接对象
至此,我们已给出了用ASP访问数据库的全过程,包括创建数据源-创建链接-创建数据对象-操作数据
对象-关闭并释放。这其间由于应用面向对象思想,应该说所有操作都比较简单,用户需要注意的仅是对数
据结构的了解,亦要清楚当前所操作的对象是什么,有什么属性,等等。只要对这些有了清醒的认识,再加
上ASP的强大功能,在网络上应用你自己的数据库,就再也不是什么难事了!
本文最后给出一个例子,这是基于数据库的ASP留言簿程序,数据库结构如下:
guestbook.mdb
表lyb:
xm char(100), ly char(255) , sj datetime
文件guestbook.asp:
<html>
<head>
<title>lyb</title>
</head>
<body bgcolor=“#ccccf0”>
<p>留言簿</p>
<form METHOD=“POST” action=“guestbook.asp”>
<input type=“hidden” name=“task” value=“insert”>
<p>姓名:<input TYPE=“text” SIZE=“20” NAME=“xm”></p>
<p>留言:</p>
<p><textarea ROWS=“5” COLS=“80” NAME=“ly”></textarea></p>
<p><input TYPE=“submit” VALUE=“记入留言簿” NAME=“B1”><input TYPE=“reset”
VALUE=“复原” NAME=“B2”></p>
</form>
<%
Set conn = Server.CreateObject(“ADODB.Connection”)
conn.Open “lybdsn”,“”,“”
If Request(“task”)=“insert” then
xm=Request(“xm”)
sj = Date()
sj = sj & “ ” & Hour(Time()) & “:” & Minute(Time())
If Request(“ly”)=“” then
Response.write(“留言不能不输吧”)
Response.end
else
ly=Request(“ly”)
end if
sql=“INSERT INTO lyb (xm,sj,ly) VALUES ('” & xm & “','” & sj & “','” & ly &
“') ”
conn.execute sql
End If
sql = “SELECT * FROM lyb ORDER BY sj DESC”
Set rs = conn.Execute(sql) %>
<% On Error Resume Next
rs.MoveFirst
do while Not rs.eof %>
<hr>
姓名:<%=Server.HTMLEncode(rs.Fields(“xm”).Value)%><br>
留于:<%=Server.HTMLEncode(rs.Fields(“sj”).Value)%><br>
留言:<%=Server.HTMLEncode(rs.Fields(“ly”).Value)%>
<% rs.MoveNext
loop %>
</body>
</html>

ASP基础讲座(下) 2006-9-8
转到本主题第:[ 1 ]
相关评论

暂无评论

总计0页 [ ]上一页 下一页
发表评论(揪错)
呢称: * 您尚未登陆,请登录
来自: *
内容:
 

(为防止非法信息,您的言论提交后需要审核才能正常显示)

文学
精品文萃 情感天地 言情小说
网络小说 玄幻小说 悬疑恐怖
武侠小说 古典品谈 外国名著
儿童文学 会员原创 学习园地
杂谈其它
娱乐
爆笑网文 星座占卜 影音动漫
娱乐新闻 影视剧情
诗词
青竹诗歌 个人诗集 宋词雅赏
全唐诗录
新闻
国际新闻 国内新闻 科技新闻
体育新闻
图片
图文专区 艺术长廊 桌面壁纸
精品素材 像素图片
漫画
单幅漫画 爆笑四格 连环漫画
电脑
电脑入门 图形图像 编程开发
游戏
我爱Q宠 最新攻略 最新秘籍
游戏新闻 技巧心得
经济
帕格节电 财经资讯 股市证券
生活
百科知识 外语学院 潮流时尚
健康医疗 宠物花卉 汽车地带
行走天下
美食
面食甜点 家常菜品 药膳食疗
美食天下 烹饪技巧 松辽风味
燕京风味 巴蜀风味 滇黔风味
赣江风味 徽皖风味 闽台风味
齐鲁风味 中州风味 岭南风味
荆楚风味 三晋风味 淞沪风味
苏扬风味 潇湘风味 钱塘风味
民族风味 素斋仿荤
营销
管理杂谈 谈经论道 培训激励
经营战略 职场生涯 公关交际
关于我们版权声明本站导航友情连结作品演示 TOP↑
本论坛言论纯属发表者个人意见,与£月影社区£立场无关。 皖ICP备16024038号-1
禁止发布任何色情/政治/反动相关信息让我们共同来营造一个属于我们的梦幻家园
Copyright ©2001-2006 MoonShadow. All rights reserved.  Version 4.0  Licence 2006.4.2
建站天数:7211天 本站基于ASP+JS构建,完全自主开发,版权归属月影社区 管理员QQ:23165062 Time:79ms