ASP和数据库的联系初步接触

一、ASP的对象存取数据库方法

在ASP中,用来存取数据库的对象统称ADO(Active Data Objects),主要含有三种对象:Connection、Recordset 、Command
Connection:负责打开或连接数据
Recordset:负责存取数据表
Command:负责对数据库执行行动查询命令

二、连接各数据库的驱动程序

连接各数据库可以使用驱动程序,也可以使用数据源,不过我建议大家使用驱动程序,因为使用驱动程序非常方便、简单,而使用数据源比较麻烦。

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'" 

而我们在一般情况下使用Access的数据库比较多,在这里建议连接Access数据库使用下面的方法:

dim  conn
set  conn  =  server.createobject( " adodb.connection " )
conn.open 
=   " provider=microsoft.jet.oledb.4.0; "   &   " data source =  "   &  server.mappath( " ../db/bbs.mdb " )

其中../db/bbs.mdb是你的数据库存放的相对路径!如果你的数据库和ASP文件在同一目录下,你只要这样写就可以了:

dim  conn
set  conn  =  server.createobject( " adodb.connection " )
conn.open 
=   " provider=microsoft.jet.oledb.4.0; "   &   " data source =  "   &  server.mappath( " bbs.mdb " )

有许多初学者在遇到数据库连接时总是会出问题,然而使用上面的驱动程序只要你的数据库路径选对了就不会出问题了。

sqlserver的连接可以如下:

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


经常会在连接DB的时候用到,就是不知道代表什么意思。。。

RS.OPEN SQL,CONN,A,B

A: 

ADOPENFORWARDONLY(=0)  
只读,且当前数据记录只能向下移动

ADOPENKEYSET(=1)       
只读,当前数据记录可自由移动

ADOPENDYNAMIC(=2)       
可读写,当前数据记录可自由移动

ADOPENSTATIC(=3)      
可读写,当前数据记录可自由移动,可看到新增记录

B:

ADLOCKREADONLY(=1)     
缺省锁定类型,记录集是只读的,不能修改记录

ADLOCKPESSIMISTIC(=2)  
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。

ADLOCKOPTIMISTIC(=3)   
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。

ADLOCKBATCHOPTIMISTIC(=4)  
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。

当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。

对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,数据在这段时间被更新。这减少了资源的使用。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值