压接要检查什么:asp 菜鸟 问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/01 13:17:37
ASP的连接数据库的方法有5种吧

现在我只会下面一种

set conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.RecordSet")
con.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("mydb.mdb") & ";Persist Security Info=False"

谁能详细介绍一下其余的四种,不要网上查的。 因为我都看了,但还是不是很理解。

需要写上每种的优点和缺点~~~~~

求最详细的解答。 谢谢了 ~~~~~~~~~~~

asp连接数据库的方法(全)

好像夜神习惯用Access,代码连接方法也都是基于Mdb数据库的,其实asp连接数据库的代码方法还有很多,后台数据库如采用SqlServer,Oracle都不尽相同,连接方式也有Oledb,Odbc等几种区别,特写此文,以作补遗。
ADO相关知识
在ASP中,用来存取数据库的对象统称ADO(Active Data Objects),主要含有三种对象:Connection、Recordset 、Command
Connection:负责打开或连接数据
Recordset:负责存取数据表
Command:负责对数据库执行行动查询命令
连接各数据库的驱动程序
连接各数据库可以使用驱动程序(OLEDB),也可以使用数据源(ODBC),相对来说使用OLEDB较为方便、简单。
ODBC链接(红色加粗部分为数据库类型,右方为相关连接方式)

access "Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;"

dBase "Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"

Oracle "Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"

MSSQL server "Driver={sql server};server=servername;database=dbname;uid=sa;pwd=pass;"

MS text "Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"

Visual Foxpro "Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"

MySQL "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"

OLEDB链接
access "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;user id=admin;password=pass;"

Oracle "Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"

MS SQL Server "Provider=SQLOLEDB;data source=machinename;initial catalog=dbname;userid=sa;password=pass;"

MS text "Provider=microsof.jet.oledb.4.0;data source=your_path;Extended Properties'text;FMT=Delimited'"

在Asp中连接Access的数据库相关代码可以写为:
Dim db,conn,connstr
db="data/hezepolice.mdb"
Set conn = Server.CreateObject("ADODB.Connection")

connstr="DBQ="+server.mappath("db")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

'采用Oledb方式
'connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)

'字符串写法的不同
'connstr="Driver={microsoft access driver (*.mdb)};DBQ=" & Server.MapPath(db)

'采用先行建立的Dsn进行连接
'connstr="dsn=hezepolice;"
conn.open connstr
以下是数据库采用sqlserver的时候Asp建立数据连接常用的代码方式之一

Set conn=Server.CreateObject("ADODB.Connection")
on error resume next
connstr="Provider=SQLOLEDB;Password=***;Persist Security Info=True;User ID=sa;Initial Catalog=msdb;Data Source=localhost;Connect Timeout=15"
conn.Open connstr
微软建议在连接Access数据库使用下面的方法:
dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("data.mdb")

看懂这些应该价值 1000分了。。。

他们都大同小异
第一种通过桥来连接
Provider=Microsoft.Jet.OLEDB.4.0 可以给出具体的数据库名
第二种要通过数据源来连接
就是先设置数据源

其次他们之间还有不同点
就是asp脚本内部的问题
Set ASPBook = Server.CreateObject("ADODB.RecordSet")
ASPBook.Open "guest",conn,3,3
就是后面的参数不相同

][ASP代码]rs.open语句详细说明
'***********************************************************************************************************
'rs.open语句详细说明
'rs.Open [第一个参数], [第二个参数], [第三个参数], [第四个参数], (第五个参数)
'rs.Open [数据表名或SQL指令], [指定当前的连接], [指示CursorType], [指示LockType], (adCmdTable/adCmdText)
'------------------------------------------------------------------------------------------
'第一个参数
'可以是表名,也可以是SQL语句
'------------------------------------------------------------------------------------------
'第二个参数
'指定当前的连接。
'------------------------------------------------------------------------------------------
'第三个参数
'指示CursorType,CursorType表示将以什么样的游标类型启动数据,
'包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,
'分述如下:
'第三个参数 常数 常数值 说明
' adOpenForwardOnly 0 缺省值,启动一个只能向前移动的游标(Forward Only)。
' adOpenKeyset 1 启动一个Keyset类型的游标。
' adOpenDynamic 2 启动一个Dynamic类型的游标。
' adOpenStatic 3 启动一个Static类型的游标。
'-------------------------------------------------------------
'以上几个游标类型将直接影响到Recordset对象所有的属性和方法,以下列表说明他们之间的区别。
'Recordset属性 adOpenForwardOnly(0) adOpenKeyset(1) adOpenDynamic(2) adOpenStatic(3)
'AbsolutePage 不支持 不支持 可读写 可读写
'AbsolutePosition 不支持 不支持 可读写 可读写
'ActiveConnection 可读写 可读写 可读写 可读写
'BOF 只读 只读 只读 只读
'Bookmark 不支持 不支持 可读写 可读写
'CacheSize 可读写 可读写 可读写 可读写
'CursorLocation 可读写 可读写 可读写 可读写
'CursorType 可读写 可读写 可读写 可读写
'EditMode 只读 只读 只读 只读
'EOF 只读 只读 只读 只读
'Filter 可读写 可读写 可读写 可读写
'LockType 可读写 可读写 可读写 可读写
'MarshalOptions 可读写 可读写 可读写 可读写
'MaxRecords 可读写 可读写 可读写 可读写
'PageCount 不支持 不支持 只读 只读
'PageSize 可读写 可读写 可读写 可读写
'RecordCount 不支持 不支持 只读 只读
'Source 可读写 可读写 可读写 可读写
'State 只读 只读 只读 只读
'Status 只读 只读 只读 只读
'AddNew 支持 支持 支持 支持
'CancelBatch 支持 支持 支持 支持
'CancelUpdate 支持 支持 支持 支持
'Clone 不支持 不支持
'Close 支持 支持 支持 支持
'Delete 支持 支持 支持 支持
'GetRows 支持 支持 支持 支持
'Move 不支持 支持 支持 支持
'MoveFirst 支持 支持 支持 支持
'MoveLast 不支持 支持 支持 支持
'MoveNext 支持 支持 支持 支持
'MovePrevious 不支持 支持 支持 支持
'Open 支持 支持 支持 支持
'Requery 支持 支持 支持 支持
'Resync 不支持 不支持 支持 支持
'Supports 支持 支持 支持 支持
'Update 支持 支持 支持 支持
'UpdateBatch 支持 支持 支持 支持
'NextRecordset 支持 支持 支持 支持
'NextRecordset 方法并不适用于Microsoft Access数据库。

'------------------------------------------------------------------------------------------
'第四个参数
'指示LockType,确定提供者打开 Recordset 时应该使用的锁定(并发)类型。
'分述如下:
'第四个参数 常数 常数值 说明
' adLockReadOnly 1 缺省值,Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法
' adLockPrssimistic 2 当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。
' adLockOptimistic 3 当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。
' adLockBatchOptimistic 4 当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增、删、改的操作

'------------------------------------------------------------------------------------------
'第五个参数
'与第一个参数相关,
'若第一个参数为表名,则第五个参数使用adCmdTable,
'若第一个参数为SQL语句,则该参数为adCmdText
'第五个参数可省略不填