用ASP存取各种常用类型数据库(五)
发表于:2007-06-30来源:作者:点击数:
标签:
6) SQL Server属于Server级的 数据库 ,使用时要求比较严格,必须要求输入用户名及密码才能使用。 Function Create SQLServer Recordset(计算机名称,用户ID, 用户密码,数据库名称 数据表或查看表或Select指令 ) Dim Params, conn Set CreatSQLServerConnecti
6)
SQL Server属于Server级的
数据库,使用时要求比较严格,必须要求输入用户名及密码才能使用。
Function Create
SQLServerRecordset(计算机名称,用户ID, 用户密码,数据库名称 数据表或查看表或Select指令 )
Dim Params, conn
Set CreatSQLServerConnection = Nothing
Set conn = Server.CreateObject("ADODB.Connection")
Params = "Provider=SQLOLEDB.1"
Params = Params & ";Data Source=" & Computer
Params = Params & ";User ID=" & UserID
Params = Params & ";Password=" & Password
Params = Params & ".Initial Catalog="&数据库名称
Conn open Paras
Set CreateSQLServerRecordset = Server.CreateObject("ADODB.Recordset")
CreateSQLServerRecordset.Open source, conn, 2, 2
End Function
利用上面的函数就可以打开常用类型的数据库,然后利用ADO的Recordset对象的增加记录、删除记录、修改记录等功能就可以对数据库进行操作。但是要说明的是,在实际
开发中我们发现,如果使用DBF、DBC、Excel数据库,执行效率没有MDB数据库效率高,最好尽可能用MDB类型数据库。
如果用用DBF、DBC、Excel数据库,下面几点要注意:Excel数据库只能读取、增加记录、修改记录,但不能删除记录;DBF、DBC<可以读取记录、增加记录、删除记录、修改记录,但是在增加记录时,任何一个字段值都不能为空,由此可看出局限性很大,所以尽可能地用MDB或SQL数据库。
四、实例(存取Excel数据表)
为了更进一步说明这些函数的用法,本文给出一个存取Excel数据表的例子,其它函数的存取方法与此类似。假设有一个如图2的名为1.xls的Excel文件, 含有三个工作表一班、二班、三班。下面得用上面的函数存取工作表“一班”的数据。
编写ASP文件(文件名为1.asp)存取此Excel中文件。
此处是asp源代码:
<%
@# 建立Connection对象
Function CreateExcelRecordset(xlsfile,sheet)
Dim rs,conn,Driver,DBPath
Set conn = Server.CreateObject("ADODB.Connection")
Driver = "Driver={Microsoft Excel Driver (*.xls)};"
DBPath = "DBQ=" & Server.MapPath( "xlsfile" )
@# 调用Open 方法连接数据库
conn.Open Driver & DBPath
set CreateExcelRecordset = Server.CreateObject("ADODB.Recordset")
@# 打开Sheet表,参数二@#>Connection对象
CreateExcelRecordset.Open "Select * From ["&sheet&"$]",conn, 2, 2
End Function
%>
<HTML>
<BODY bgcolor="#FFFFFF">
<TABLE BORDER=1>
<TR BGCOLOR=#00FFFF>
<%
@#本行是关键行,对函数的引用
@# set rs=CreateExcelRecordset("1.xls","一班")
Part I输出“表头名称”且表头的背景的颜色为#00FFFF
@# For i=0 to rs.Fields.Count-1
Response.Write "<
TD>" & rs(i).Name & "</TD>"
Next
%>
</TR>
<%
@# Part @#>输出数据表的“内容”?
rs.MoveFirst @# 将目前的数据记录移到第一项
While Not rs.EOF @# 判断是否过了最后一项
Row = "<TR>"
For i=0 to rs.Fields.Count-1
Row = Row & "<TD>" & rs(i) & "</TD>"
Next
Response.Write Row & "</TR>"
rs.MoveNext @# 移到下一项
Wend
%>
</TABLE></CENTER>
</BODY>
</HTML>
利用IE和PWS(Personal Web Server)后浏览结果如图3:
参考文献:
[1]DataBase and the World Wide Web Marianne Winslett, University of Illinois
[2]http://www.aspobjects.com
原文转自:http://www.ltesting.net