- 1. QQ IP数据库20110625最新下载 绿色免费版
- 2. phpMyAdmin(支持对数据库进行建立、复制,删除数据等...
- 3. QQ IP数据库20110620最新下载 简体中文绿色免费版
- 4. 纯真QQ IP数据库(正确显示QQIP地址)20110615最新下...
- 5. QQ IP数据库20110610最新下载 简体中文绿色免费版
- 6. 贝卡文件自动备份系统(支持备份数据库文件) V3.31 ...
- 7. 浪迹万能数据库(完全取代access操作) V1.2 简体中文...
- 8. phpMyAdmin(支持对数据库进行完全操控) V3.4.2.0 F...
- 9. ESET VC52 Scan(支持免费更新ESET数据库) V1.0.0.2...
- 10. QQ IP数据库20110530最新下载 简体中文绿色免费版
ASP中数据库知识学习
作者: 来源: 发布时间:2011-6-4 9:37:45 点击:
本文章提供的是ASP中的数据库基础知识的学习,不管大家都知不知道,我们还是一起来还温习巩固一下把。
一、 ADO概述
ADO(ActiveX Data Object)是一组优化的访问数据库的专用对象集,它为ASP提供了完整的站点数据库访问解决方案。ADO对象在服务器端执行,并向客户端提供含有数据库信息的内容,客户端也可以根据指定的权限返回参数来对数据库进行读写等操作。ADO的特点就是执行速度快、使用简单、低内存消耗且占用硬盘空间小。
因为ADO是通过ODBC来对数据库进行访问的,所以它可以连接各种支持ODBC的数据库,如Access、SQL Server、Oracle、Informix等。在使用ADO之前要先在ODBC中添加相应的数据库驱动程序,并创建相应的DSN(数据源名)。ADO 中包含许多对象,其中Connection对象和Recordset对象主要用于控制数据库存取,要建立一次数据库访问首先要创建一个 Connection对象,然后用基于这个Connection对象的Recordset对象来完成对数据库从操作。
二、 Connection对象
Connection对象代表了一个打开的同OLE DB数据源的连接,它有点类似于client/server数据库应用中同Server间的真实网络连接,我们可以独立于任何其它对象建立一个 Connection对象。注意,在引用一个Connection之前首先要创建这个Connection对象,其语法如下,其中connection为引用该Connection对象的变量:Setconnection=Server.CreatObject(“ADODB.Connetcion”)
Connection对象中包含有多个属性,下面是几个常用的属性,注意只能在创建Connection对象之后且该对象被打开前改变其属性。语法如:Connection.属性=属性值
1. ConnectionString一个包含连接信息的字符串,将一个“DSN名” 或是一个由“argument = value”组成的字符串传递给ConnectionString属性,可以为Connection对象指定一个数据源,此属性可以在连接打开前设置,也可以在“Open”命令中设置。ADO中的argument有以下几个:
参数 描述
Provider 该Connection对象的创建者,默认值为MSDASQL (Microsoft ODBC Provider for OLE DB)
Data Source 指定该Connection的ODBC数据源(DSN)
User 设置打开该连接的用户名
Password 设置打开该连接时所需要的密码
File Name 由创建者指定的包含该Connection信息的文件
2. Mode
可以设置为以下常量的参数,用来设置用户对当前连接的访问权限。
常量 值 含义
adModeUnknown 0 未设置对数据库的操作权限(默认)
adModeRead 1 只读
adModeWrite 2 只写
adModeReadWrite 3 可以读写
adModeShareDenyRead 4 禁止对数据源建立其它的只读连接
adModeShareDenyWrite 8 禁止对数据源建立其它的只写连接
adModeShareExclusive 12 禁止对数据源建立其它的读/写连接
adModeShareDenyNone 16 禁止对数据源建立其它的任何连接
3. ConnectionTimeout 指定等待建立连接的时间,若超时则中断请求并给出错误信息。等待时间以秒为单位,可以将一个整数值赋给这个参数,默认值是15秒。设置 ConnectionTimeout属性可以在网络拥挤或服务器忙时给出提示,防止无休止的等待。若将ConnectionTimeout的值设置为0,则系统一直等待直到连接建立成功。
4. CommandTimeout 指定当执行“Execute”命令时的等待时间,若超时则中断请求并给出错误信息。等待时间以秒为单位,可以将一个整数值赋给这个参数,默认值是30秒。使用Connection对象的Open、Close和Execute方法可以完成从建立数据库连接,到操纵数据库和最后关闭连接的所有数据库访问动作。
. Open Open方法打开Connection对象同数据源之间的物理连接,语法如下:
connection. Open ConnectionString,UserID, Password
connection 代表一个对象变量,用于引用已经存在的Connection对象。
ConnectionString 可选变量,含义同前面提到的ConnectionString属性。
UserID 可选变量,是一个包含建立连接时使用的用户名的字符串。
Password 可选变量,是一个包含建立连接时所使用的密码的字符串。
. Close 用Close方法可以关闭一个已经打开的Connection对象,但是此时该Connection对象并没有被从内存中删除,我们还可以改变它的属性参数或是打开这个对象,若要真正释放该对象占用的内存空间需要将这个对象设置为“Nothing”。如果基于此Connection对象还打开了其它的 RecordSet对象,在关闭Connection对象的同时会关闭所有相关的recordSet对象。
. Execute 使用Execute可以根据已经打开的Connection对象执行SQL语句或一个存储过程,并可以用一个RecordSet对象指向得出的结果集合。Execute命令的语法如下:
connection.Execute CommandText, RecordsAffected, Options
CommandText 字符串,包含将要执行的SQL语句、表名或存储过程。
RecordsAffected 可选参数,一个长整型变量,操纵执行完后,其返回值为该操纵影响的记录的数量。
Options 可选参数,描述CommandText中包含何种操纵参数,有以下可用值:
常量 值 含义
adCmdText 1 CommandText是一个用SQL语句描述的命令
adCmdTable 2 CommandText是一个表名
adCmdStoredProc 4 CommandText是一个存储过程
adCmdUnknown 8 CommandText是一个未知的命令类型
使用Connection对象的各种方法可以完成对数据库的各种访问动作,比如添加、删除、更新和选取等操作。
三、 Recordset对象
虽然使用Execute方法已经可以实现对数据库的各种操作,但是在编程中我们更常用的还是RecordSet对象,ADO中的内建对象 RecordSets是数据库访问的主要接口,它指向数据表中的一个记录集,它有点类似于C语言中指针的概念,在任何时刻一个RecordSets对象只能指向一条记录。
Recordset对象提供了许多方法和属性来方便对数据库的操作,下面是一些常用的Recordset方法及属性。
* CursorType 应该在Recordset对象打开之前设置这个属性,它决定了Recordset的游标类型,CursorType可以为以下值:
常量 值 含义
adOpenStatic 3 静态游标,它是所访问的记录集的拷贝,看不到其它用户对数据库的修改
AdOpenDynamic 2 动态游标,可以看到其它用户对数据库的添加、删除和修改等操作,允许 游标向前或向后移动
adOpenKeyset 1 关键字游标,与动态游标相同,但是只能看到其它用户对数据库的更新, 看不到添加和删除结果
adOpenForwardOnly 0 向前游标,同静态游标相同,但是游标只能向前移动
* BOF Recordset属性,在当前Recordset对象指向记录集中的第一条记录之前时BOF返回值为True(-1),反之为False(0)。
* EOF Recordset属性,当当前Recordset对象指向记录集中的最后一条记录之后BOF返回值为True(-1),反之为False(0)。
* RecordCount Recordset属性,RecordCount返回值为一个long型值,等于记录集中记录的数量。
* Open 在使用Recordset对象之前首先要用Open方法打开一个指向记录集合的游标,其语法如下: recordset.Open Source, ActiveConnection, CursorType, LockType, Options
recordset: Recordset对象变量
Source: 可选参数,用于选取记录集,可以是SQL语句、表名或存储过程
ActiveConnection: 可选参数,一个变量代表一个打开的Connection对象
CursorType :可选参数,指定游标类型,默认值为“0”
LockType 可选参数,指定编辑记录集时的锁的类型如下:
常量 值 含义
AdLockReadOnly 1 只读,不可修改记录集
AdLockPessimistic 2 当编辑记录集时锁定数据库,禁止其它用户访问
AdLockOptimistic 3 只有使用Update方法时才锁定数据库
AdLockBatchOptimistic 4 只有使用UpdateBatch方法时才锁定数据库
Option: 可选参数,同Connection的Open方法中的Option参数。
注意:在使用Recordset对象时可以不建立Connection对象,而是在Open方法中直接传递连接参数,事实上这种情况下ADO还是创建了一个Connection对象,只是并不把它指派给对象变量。但是如果要用一个Connection对象建立多个Recordset对象,就必须建立对象并把它指派给一个Connection对象变量。
* AddNew 新建并初始化一个新记录,并将RecordSet游标指向该记录。
* Delete 删除游标指向的当前记录。
ADO(ActiveX Data Object)是一组优化的访问数据库的专用对象集,它为ASP提供了完整的站点数据库访问解决方案。ADO对象在服务器端执行,并向客户端提供含有数据库信息的内容,客户端也可以根据指定的权限返回参数来对数据库进行读写等操作。ADO的特点就是执行速度快、使用简单、低内存消耗且占用硬盘空间小。
因为ADO是通过ODBC来对数据库进行访问的,所以它可以连接各种支持ODBC的数据库,如Access、SQL Server、Oracle、Informix等。在使用ADO之前要先在ODBC中添加相应的数据库驱动程序,并创建相应的DSN(数据源名)。ADO 中包含许多对象,其中Connection对象和Recordset对象主要用于控制数据库存取,要建立一次数据库访问首先要创建一个 Connection对象,然后用基于这个Connection对象的Recordset对象来完成对数据库从操作。
二、 Connection对象
Connection对象代表了一个打开的同OLE DB数据源的连接,它有点类似于client/server数据库应用中同Server间的真实网络连接,我们可以独立于任何其它对象建立一个 Connection对象。注意,在引用一个Connection之前首先要创建这个Connection对象,其语法如下,其中connection为引用该Connection对象的变量:Setconnection=Server.CreatObject(“ADODB.Connetcion”)
Connection对象中包含有多个属性,下面是几个常用的属性,注意只能在创建Connection对象之后且该对象被打开前改变其属性。语法如:Connection.属性=属性值
1. ConnectionString一个包含连接信息的字符串,将一个“DSN名” 或是一个由“argument = value”组成的字符串传递给ConnectionString属性,可以为Connection对象指定一个数据源,此属性可以在连接打开前设置,也可以在“Open”命令中设置。ADO中的argument有以下几个:
参数 描述
Provider 该Connection对象的创建者,默认值为MSDASQL (Microsoft ODBC Provider for OLE DB)
Data Source 指定该Connection的ODBC数据源(DSN)
User 设置打开该连接的用户名
Password 设置打开该连接时所需要的密码
File Name 由创建者指定的包含该Connection信息的文件
2. Mode
可以设置为以下常量的参数,用来设置用户对当前连接的访问权限。
常量 值 含义
adModeUnknown 0 未设置对数据库的操作权限(默认)
adModeRead 1 只读
adModeWrite 2 只写
adModeReadWrite 3 可以读写
adModeShareDenyRead 4 禁止对数据源建立其它的只读连接
adModeShareDenyWrite 8 禁止对数据源建立其它的只写连接
adModeShareExclusive 12 禁止对数据源建立其它的读/写连接
adModeShareDenyNone 16 禁止对数据源建立其它的任何连接
3. ConnectionTimeout 指定等待建立连接的时间,若超时则中断请求并给出错误信息。等待时间以秒为单位,可以将一个整数值赋给这个参数,默认值是15秒。设置 ConnectionTimeout属性可以在网络拥挤或服务器忙时给出提示,防止无休止的等待。若将ConnectionTimeout的值设置为0,则系统一直等待直到连接建立成功。
4. CommandTimeout 指定当执行“Execute”命令时的等待时间,若超时则中断请求并给出错误信息。等待时间以秒为单位,可以将一个整数值赋给这个参数,默认值是30秒。使用Connection对象的Open、Close和Execute方法可以完成从建立数据库连接,到操纵数据库和最后关闭连接的所有数据库访问动作。
. Open Open方法打开Connection对象同数据源之间的物理连接,语法如下:
connection. Open ConnectionString,UserID, Password
connection 代表一个对象变量,用于引用已经存在的Connection对象。
ConnectionString 可选变量,含义同前面提到的ConnectionString属性。
UserID 可选变量,是一个包含建立连接时使用的用户名的字符串。
Password 可选变量,是一个包含建立连接时所使用的密码的字符串。
. Close 用Close方法可以关闭一个已经打开的Connection对象,但是此时该Connection对象并没有被从内存中删除,我们还可以改变它的属性参数或是打开这个对象,若要真正释放该对象占用的内存空间需要将这个对象设置为“Nothing”。如果基于此Connection对象还打开了其它的 RecordSet对象,在关闭Connection对象的同时会关闭所有相关的recordSet对象。
. Execute 使用Execute可以根据已经打开的Connection对象执行SQL语句或一个存储过程,并可以用一个RecordSet对象指向得出的结果集合。Execute命令的语法如下:
connection.Execute CommandText, RecordsAffected, Options
CommandText 字符串,包含将要执行的SQL语句、表名或存储过程。
RecordsAffected 可选参数,一个长整型变量,操纵执行完后,其返回值为该操纵影响的记录的数量。
Options 可选参数,描述CommandText中包含何种操纵参数,有以下可用值:
常量 值 含义
adCmdText 1 CommandText是一个用SQL语句描述的命令
adCmdTable 2 CommandText是一个表名
adCmdStoredProc 4 CommandText是一个存储过程
adCmdUnknown 8 CommandText是一个未知的命令类型
使用Connection对象的各种方法可以完成对数据库的各种访问动作,比如添加、删除、更新和选取等操作。
三、 Recordset对象
虽然使用Execute方法已经可以实现对数据库的各种操作,但是在编程中我们更常用的还是RecordSet对象,ADO中的内建对象 RecordSets是数据库访问的主要接口,它指向数据表中的一个记录集,它有点类似于C语言中指针的概念,在任何时刻一个RecordSets对象只能指向一条记录。
Recordset对象提供了许多方法和属性来方便对数据库的操作,下面是一些常用的Recordset方法及属性。
* CursorType 应该在Recordset对象打开之前设置这个属性,它决定了Recordset的游标类型,CursorType可以为以下值:
常量 值 含义
adOpenStatic 3 静态游标,它是所访问的记录集的拷贝,看不到其它用户对数据库的修改
AdOpenDynamic 2 动态游标,可以看到其它用户对数据库的添加、删除和修改等操作,允许 游标向前或向后移动
adOpenKeyset 1 关键字游标,与动态游标相同,但是只能看到其它用户对数据库的更新, 看不到添加和删除结果
adOpenForwardOnly 0 向前游标,同静态游标相同,但是游标只能向前移动
* BOF Recordset属性,在当前Recordset对象指向记录集中的第一条记录之前时BOF返回值为True(-1),反之为False(0)。
* EOF Recordset属性,当当前Recordset对象指向记录集中的最后一条记录之后BOF返回值为True(-1),反之为False(0)。
* RecordCount Recordset属性,RecordCount返回值为一个long型值,等于记录集中记录的数量。
* Open 在使用Recordset对象之前首先要用Open方法打开一个指向记录集合的游标,其语法如下: recordset.Open Source, ActiveConnection, CursorType, LockType, Options
recordset: Recordset对象变量
Source: 可选参数,用于选取记录集,可以是SQL语句、表名或存储过程
ActiveConnection: 可选参数,一个变量代表一个打开的Connection对象
CursorType :可选参数,指定游标类型,默认值为“0”
LockType 可选参数,指定编辑记录集时的锁的类型如下:
常量 值 含义
AdLockReadOnly 1 只读,不可修改记录集
AdLockPessimistic 2 当编辑记录集时锁定数据库,禁止其它用户访问
AdLockOptimistic 3 只有使用Update方法时才锁定数据库
AdLockBatchOptimistic 4 只有使用UpdateBatch方法时才锁定数据库
Option: 可选参数,同Connection的Open方法中的Option参数。
注意:在使用Recordset对象时可以不建立Connection对象,而是在Open方法中直接传递连接参数,事实上这种情况下ADO还是创建了一个Connection对象,只是并不把它指派给对象变量。但是如果要用一个Connection对象建立多个Recordset对象,就必须建立对象并把它指派给一个Connection对象变量。
* AddNew 新建并初始化一个新记录,并将RecordSet游标指向该记录。
* Delete 删除游标指向的当前记录。
上一篇:清除页面缓存的小技巧分享 下一篇: 在ASP中出现RecordCount=-1的解决方法
[收藏此文章]