ASP数据库编程技巧
2008-02-23 05:31:28来源:互联网 阅读 ()
一、 和数据库建立连接
我们常用的数据库一般为Microsoft Access或SQL Server,为了使用这两种数据库,我们通常需要先创建和配置ODBC数据源,但事实上,ASP脚本能够使用OLD DB的其他驱动程式直接把ADO绑定到数据库而不使用ODBC作为一个附加层,请看:
1. 和Microsoft Access数据库建立连接
Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\asp\data")
& "\example.mdb;"
在这里,Server对象的MapPath方法将指定的虚拟路径转换为真实的文档路径,最终结果类似:c:\InetPub\home\asp\data\example.mdb。
2. 和SQL Server数据库建立连接
Set Cnn = Server.CreateObject("ADODB.Connection")
strConn = "Provider=sqloledb; User ID=sa; Password=; Initial Catalog=pubs; Data
Source=16.62.5.8"
Cnn.Open strConn
Initial Catalog后指定数据库名,Data Source后为机器名或IP地址。
二、 从ASP脚本中访问数据库的两种方法
1. 通过SQL语句来访问数据库
1) 若需要返回 Recordset 对象引用(如查询操作)先要建立一个名为Cnn的连接
strQry = "SELECT * FROM authors"
Set rsTest = Cnn.Execute(strQry)
然后能够通过循环显示记录集rsTest中的有关数据。
2) 若无需返回数据(如增加、修改、删除操作)
strQ = "INSERT INTO Shippers (CompanyName, Phone) VALUES ('O''Conner Delivery', '(503)
555-0201')"
Cnn.Execute strQ
2. 通过Recordset对象的Open、AddNew、Delete、Update和UpdateBatch方法访问数据库
Set rsTest = Server.CreateObject("ADODB.Recordset") '创建Recordset对象
rsTest.CursorLocation = adUseServer '使用服务器端游标
rsTest.CursorType = adOpenForwardOnly '使用仅向前游标类型
rsTest.LockType = adLockOptimistic '开放式记录锁定(逐条)
rsTest.Open "SELECT * FROM Shippers WHERE CompanyName = 'United Package'", Cnn, , ,
adCmdText
' 第五个参数:adCmdText指示数据源是个SQL语句。
rsTest("Phone") = "(503) 555-8888"
rsTest.Update
Response.Write "更新单个记录 " & objRS("Phone") & ".
"
为了更好的理解ADO的数据库编程,下面提供一个完整的实例(NorthWind.mdb是Microsoft Access97自带的一个数据库,文档adovbs.inc可在C:\Program Files\Common Files\System\ADO下找到):
<% @LANGUAGE = VBScript %>
<!--#include file="adovbs.inc"-->
<%
Response.Expires = 0
Dim StrCnn,Cnn,objRS, strOut, ID
Set Cnn = Server.CreateObject("ADODB.Connection")
StrCnn="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("\asp24") & "\NorthWind.mdb;"
Cnn.Open StrCnn
Response.Write StrCnn & "<Br>" '看看输出的结果
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorLocation = adUseServer
objRS.CursorType = adOpenKeyset
objRS.LockType = adLockOptimistic
objRS.Open "运货商", Cnn, , , adCmdTable
objRS.AddNew
objRS("公司名称") = "吴丰"
objRS("电话") = "571-7227298"
objRS.Update
ID = objRS("运货商ID")
Response.Write "新增记录运货商ID为 "
Response.Write ID & ".<BR><BR>"
objRS.Close
objRS.CursorLocation = adUseClient
objRS.CursorType = adOpenForwardOnly
objRS.LockType = adLockReadOnly
objRS.Open "运货商", Cnn, , , adCmdTable
%>
<HTML><BODY>
下面为显示信息部分-运货商ID: 公司名称 电话<BR><BR>
<%
While Not objRS.EOF
strOut = objRS("运货商ID") & ": " & objRS("公司名称")
strOut = strOut & " " & objRS("电话")
Response.Write Server.HTMLEncode(strOut) & "<BR>"
objRS.MoveNext
Wend
objRS.close : Cnn.close
Set objRS = Nothing : Set Cnn = Nothing
%>
</BODY></HTML>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 在ASP中使用断开的记录集
下一篇: 在ASP中使用存储过程
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash