第 6章 SQL与 ADO组件模型
本章主要讲解:
SQL语言的使用方法
ASP连接 SQL SERVER数据库的方法
如何添加, 修改, 删除数据表的一条记录
6.1 结构化查询语言( SQL)
SQL是 Structure Query Language的缩写。
使用 SQL语言,可以从数据库中获取数据、建立
数据库和数据库的对象,增加数据、修改数据和实
现复杂的查询功能。
6.1.1 SQL常用语句
1,查询语言
查询语句是用来对已经存在数据库中的数据按照特定
的组合, 条件表达式或者次序进行检索,
6.1.1 SQL常用语句
1,查询语言
其一般格式为,SELECT[ALL|DISTINCT]<目标列表达式 >[,<
目标列表达式 >]…
FROM<表名或视图名 >[,<表名或视图名 >]…
[WHERE<条件表达式 >]
[GROUP BY<列名 1> [HAVING<条件表达式 >]]
[ORDER BY<列名 2> [ASC|DESC] ]
1,查询语言
( 1)查询表中指定列
SELECT username,password FROM user
1,查询语言
( 2)查询全部列
SELECT * FROM user
1,查询语言
( 3)查询经过计算的值
查询全体用户的用户名及其年龄语句如下:
SELECT username,2004 - YEAR(born) AS 年龄 FROM user
1,查询语言
( 4)查询满足条件的元组
例 4,查询全体男用户的信息语句如下:
SELECT * FROM emailuser WHERE sex = '男 '
1,查询语言
( 5)对查询结果排序
查询所有男用户的信息, 查询结果按 id的降
序排列语句如下:
SELECT * FROM user WHERE sex='男 ' ORDER BY id DESC
1,查询语言
( 6)对查询结果分组
查询用户中男女的人数各是多少:
SELECT sex,COUNT(sex) AS Expr1 FROM user GROUP BY sex
1,查询语言
( 7)连接查询
查询购买了货号为, 10003002” 的用户的详细信
息:
SELECT user.* FROM user,finish
WHERE user.username=finish.user and finish.hh= 10003002
1,查询语言
( 8)嵌套查询
查询比用户, jiangli”年龄大的其他用户信息,
SELECT * FROM user
WHERE 2003-year(born) >
(SELECT 2003-year(born) FROM user WHERE user=’jiangli ’)
2,数据操纵语言 DML
( 1) INSERT语句
INSERT语句可给数据库中的某一个表添加一条或多条新记录。
INSERT语句常用的使用方式如下:
INSERT tablename (column1,column2,...columnX)
VALUES(value1,value2,...valueX)
2,数据操纵语言 DML
( 2) UPDATE语句
UPDATE语句可以更改表或视图中单条记录、多条记录或
所有记录的数据值。
UPDATE {table_name | view_name}
SET {column=expression[,...]}
WHERE CURRENT OF cursor_name
2,数据操纵语言 DML
( 2) UPDATE语句
例如:将 ID为 11000的用户的电话号码改为 027-81234567
UPDATEuser
SET telephone=027-81234567
WHERE id=11000
2,数据操纵语言 DML
( 3) DELETE语句
DELETE 语句可删除表或视图中的一条或多条记录,
DELETE table_or_view FROM table_sources WHERE search_condition
例如:删除 id为 110的用户记录
DELETE
FROM user
WHERE id =110
3,数据定义语言 DDL
DDL用来建立数据库中各种数据对象 ( 包括表, 视图, 索引,
存储过程, 触发器等 ), 有三种基本形式:
( 1) CREATE,新建数据库对象 。
( 2) ALTER,更新已有数据对象的定义 。
( 3) DROP,删除已经存在的数据对象
4,数据控制语言 DCL
DCL用于授予或者收回访问数据库的某种权限和事务控
制, 主要包括四种基本形式:
( 1) GRANT,授予权限
( 2) REVOKE,收回权限
( 3) COMMIT,提交事务
( 4) ROLLBACK,回滚事务
6.1.2 SQL基本操作符
查 询 条 件 谓 词
比较 =,>,<,>=,<=,!=,<>,!>,!<;
NOT+上述比较运算符
确定范围 BETWEEN AND,NOT BETWEEN AND
确定集合 IN,NOT IN
字符匹配 LIKE,NOT LIKE
空值 IS NULL,IS NOT NULL
多重条件 AND,OR
? 表 6-3 SQL常用聚合函数
函 数
名
说 明
COUNT 统计表中记录数,返回 int类型整
数
AVG 计算字段的平均值
SUM 计算字段值的和
MAX 求最大值
MIN 求最小值
2,AVG函数
使用函数 AVG( ) 可以返回一个字段中所有值的平均值 。
3,SUM函数
SELECT SUM(Sell) FROM Orders
函数 SUM()的返回值代表字段 Sell中所有数据的总和 。
4,MAX()和 MIN()函数
SELECT MAX(vote) AS 最高评价人数 FROM Vote_Detail
SELECT MIN(vote) AS 最低评价人数 FROM Vote_Detail
1,ASP访问数据库的方式
在 ASP脚本中可以通过三种方式访问数据库,
传统的 IDC方式
ADO方式
RDS方式 。
6.2 ADO组件模型
( 1) Internet数据库接口 ( IDC)
IDC是一个传统的数据库查询工具, 可以利用其来定义和执
行数据库查询的 SQL命令, 并向浏览器返回一个指定数据格式
的页面 。
6.2 ADO组件模型
( 2) ActiveX数据对象 ( ADO)
ADO把绝大部分的数据库操作都封装在七个对象中, 在 ASP
页面中编写程序时, 仅需调用这些对象就可执行相应的数据库
操作 。
ADO使用本机数据源, 通过 ODBC访问数据库 。 这些数据库可
以是关系型数据库, 文本型数据库, 层次型数据库或者任何支
持 ODBC的数据库 。
6.2 ADO组件模型
( 3) 远程数据服务 ( RDS)
RDS支持数据远程操作, 不仅能执行查询并返回数据库查询
结果, 而且这种结果是, 动态的,, 服务器上的数据库与客户
端看到的数据保持, 活的连接关系, 。
6.2 ADO组件模型
2,ADO简介
ADO是一种可移植组件, 且可以跨平台移植 。
ADO数据对象是开发访问 OLE DB数据库应用程序的一种 API
( 应用程序接口 ) 。
ADO几乎兼容于所有的数据库系统, 并对各种数据库都提供
相同的处理界面供程序设计人员使用 。
6.2 ADO组件模型
3,ADO的对象
l) 连接对象 ( connection)
表示正在使用的数据源和 ADO接口之间的连接 。
Connection对象一般用来与数据库的打开和通信, 但
也可以打开对其它数据资源 ( 如普通文本文件, 文件系统 ) 的
连接 。
6.2 ADO组件模型
2) 记录集对象 ( Recordset)
该对象代表来自一个数据提供者的一组记录 。
3) 域对象 ( fields)
代表一个记录集中的一个域 。
4) 命令对象 ( command)
代表一个命令 。
6.2 ADO组件模型
5) 参数对象 ( Parameter)
代表 SQL存储过程或有参数查询中的一个参数, 此参数将传
给 command对象 。
6) 属性对象 ( Propertics)
代表数据提供者的具体属性 。
7) 错误对象 ( Error)
代表 ADO错误, 可以判断错误原因 。
6.2 ADO组件模型
6.2 ADO组件模型
数据库的所有通信都要通过一个打开的连接来进行, 这是通
过 ADO中的连接对象来完成的 。
6.3 Connection对象
1,Attributes属性
代表数据库连接的状态, 即事务处理方法 。 在 Connection
对象中, 这个属性可以设置两个值:
(1) adXactCommitRetaining在调用 CommitTrans
方法后, 自动启动新事务
(2) adXactAbortRetaining在调用 RollbackTrans方法后, 自
动启动新事务
6.3.1 Connection对象属性
2,CursorLocation属性
CursorLocation属性的取值有两个,
adUseClient,adUseServer( 默认 )
6.3.1 Connection对象属性
Set conn=Server.CreateObject("ADODB.Connection")
conn.CursorLocation=adUseClient
strConn="driver={SQL
Server};server=jiangli;uid=sa;pwd=;database=pubs"
conn.open strConn
set rs=Server.CreateObject("ADODB.RecordSet")
rs.open "",conn,,,
3,CommandTimeout属性
ConnectionTimeout属性, 可以限制在放弃连接尝试并发出
错误消息之前应用程序等待的时间 。
6.3.1 Connection对象属性
Set conn=Server.CreateObject("ADODB.Connection")
Conn.CommandTimeout=20
Conn.open,filedsn=myDataBase.dsn”
4,ConnectionString属性
ConnectionString属性将返回一个字符串, 该字符串中包含
了创建数据连接时所用的信息 。
Connection对象可以接受该属性的五个参数,,
( 1) ProviderOLEDB,提供者的名字
( 2) DataSource,指定数据源的名字
( 3) UserID,指定连接数据源时的用户 ID
( 4) Password,指定连接数据源时用户的密码
( 5) FileName,指定要连接的数据库名字
6.3.1 Connection对象属性
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.ConnectionString="DBQ="+server.mappath("email.mdb")+";
DefaultDir=;DRIVER={Microsoft Access Driver
(*.mdb)};"
conn.open
%>
6.3.1 Connection对象属性
5,ConnectionTimeout属性
创建连接时所等待的时间, 默认 15秒, 可读写 。
6,DefaultDatabase属性
当前连接的数据库的缺省名称, 可读写 。
6.3.1 Connection对象属性
7,Mode属性
这个属性指定了打开 OLEDB数据源时所拥有的读, 写和共享权限 。
8,Version属性
返回 ADO的版本号 。
6.3.1 Connection对象属性
1,Open方法
Open方法用来打开一个对象与数据源的连接, Open语法为:
dbcon.Open Connectionstring,Username,Password
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "DSN=TEST;UID=uid;PWD=pwd"
%>
6.3.2 Connection对象的方法
1,Open方法
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "PROVIDER=SQLOLEDB;DATA SOURCE=JIANGLI;
UID=SA;PWD=secret;DATABASE=BOOK"
%>
6.3.2 Connection对象的方法
1,Open方法
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.ConnectionString ="DSN=CATCH;UID=uid;PWD=pwd"
conn.Open
%>
6.3.2 Connection对象的方法
2,Close
Close方法用来关闭一个对象与数据源的连接 。 Close
语法为:
conn.Close
3,BeginTrans方法
BeginTrans方法用于开始一个新事务 。
6.3.2 Connection对象的方法
4,CommitTrans方法
利用 CommitTrans方法来提交所有事务的处理结果 。
其语法:
Connection.CommitTrans
6.3.2 Connection对象的方法
<%@ Language=VBScript %>
<%
dim conn
dim connstr
connstr="DBQ="+server.mappath("email.mdb")+";DefaultDir=;
DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
conn.BeginTrans
conn.Execute "insert into user (username,password)
values('lyd','123456')"
conn.Execute "delete from user where id=57"
conn.CommitTrans
%>
6.3.2 Connection对象的方法
5,RollbackTrans方法
利用 RollbackTrans方法来放弃所有的事务处理结果 。
其语法如下:
Connection,RollbackTrans
6.3.2 Connection对象的方法
6,Execute方法
打开数据库连接后, 可以用 connection对象的
execute方法执行任何 SQL语句 。 如创建数据表, 进行
数据库的数据查询, 以及在数据表中插入, 更新, 删
除和选择数据等 。
6.3.2 Connection对象的方法
1,连接字符串
( 1) 微软 Access
如果使用 ODBC,而没有 DSN:
DRIVER={Microsoft Access Driver (*.mdb)};DBQ=database_name.mdb
例如:
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)};
DBQ= C:\liubing\database_name.mdb "
%>
6.3.3 数据库连接方式
( 2) 微软 SQL Server
对于微软 SQL Server,使用针对 ODBC提供者的格式如
下:
Driver={SQL Server};Server=server_name;Database=database_name;
UID=user_name;pwd=user_password
例如:
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open " Driver={SQL Server};DATA SOURCE=JIANGLI;
UID=SA;PWD=123456;DATABASE=BOOK"
%>
6.3.3 数据库连接方式
6.3.3 数据库连接方式
( 2) 微软 SQL Server
对于微软 SQL Server,使用针对 ODBC提供者的格式如
下:
Driver={SQL Server};Server=server_name;Database=database_name;
UID=user_name;pwd=user_password
例如:
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open " Driver={SQL Server};DATA SOURCE=JIANGLI;
UID=SA;PWD=123456;DATABASE=BOOK"
%>
6.3.3 数据库连接方式
2,数据链接文件
这是一个含有连接细节的文件 (扩展名为,udl),优
点是对于任何数量的 ASP页面只需要一个数据链接文
件 。
6.3.3 数据库连接方式
3,ODBC数据源, 或 DSN
<%
Set
conn=Server.CreateObject("ADODB.Connection")
conn.Open "DSN=KKK"
%>
6.3.3 数据库连接方式
6.3.3 数据库连接方式
1,使用包含文件
创建一个新的 ASP文件, 不妨称为 Connection.asp,
并在这个文件中加入下面的代码:
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Provider=SQLOLEDB;Data Source=JIANGLI;Initial Catalog=book;
" &_
"User Id=sa;Password=123456"
%>
在其它的 ASP页面中, 可以在顶端加入这一行:
<!--#include file=" Connection.asp "-->
6.3.4 Connection对象的应用
2,使用连接状态
将连接字符串存入应用程序变量是一个常用的技巧, 同使用一
个包含文件一样有效 。 例如, 可以在 global.asa文件中加入
下面的代码:
Sub Application_Onstart()
strConn="Provider=SQLOLEDB;Data Source=JIANGLI;Initial
Catalog=book; " &_
"User Id=sa;Password=123456"
Set Application("ConnectionString")=strConn
End Sub
在 ASP页面中,可以使用下面的代码:
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open Application("ConnectionString")
%>
6.3.4 Connection对象的应用
6.4.1 Command对象属性
1,ActivcConnection属性
ActivcConnection 属 性 指 出 当 前 Command 对 象 所 连 接 的
Connection对象 。
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver
(*.mdb);DBQ=C:\liubing\lb.mdb;"
set comm=Server.CreateObject("ADODB.Command")
comm.ActiveConnection = conn
%>
6.4 Command对象
2,CommandText属性
使用 CommandText属性可设置或返回对数据提供者的
查询字符串 。
<%
set comm=Server.CreateObject("ADODB.Command")
set comm.ActiveConnection = "DSN=eshop;UID=sa;PWD=123456"
set comm.CommandText="user"
set comm.CommandType=adCmdTable
%>
6.4 Command对象
3,CommandTimeout属性
CommandTimeout属性可设置执行一个 Command对象
时所等待的时间 ( 单位为秒 ), 其缺省值是 30秒, 如
果在这个时间之内 Command对象未执行完成, 命令将
被终止并产生一个错误 。
6.4 Command对象
? 表 6-2 CommandType常数值
常数 常数值 说明
adCmdText 1 CommandText是一个包含着命令或存储过程调用的文
字串
adCmdTable 2 CommandText是一个表名,ADO会产生一个对它的
SQL查询以返回它的全部行和列
adCmdTableDirec
t
512 CommandText是一个表,在查询中它的全部行和列将
被返回
adCmdStoredProc 4 CommandText是一个存储过程名
adCmdUnknow 8 缺省。 CommandText属性内容是未知的
adCmdFile 256 CommandText是一个已存在的记录集的文件名
adExecuteNoReco
rds
128 CommandText是一个不返回记录的命令或赶集过程。
如果只可以取得记录,这些记录将被丢弃而不返回任
何结果。它总是和 adCmdText或 adCmdStoredProc一起
使用。
5,Prerared属性
Prerared属性指出在调用 Command对象的 Execute方
法时, 是否将查询的编译结果存储下来, 这是一个布
尔类型的值 。
6.4 Command对象
1,Cancel方法
Cancel方法用 来取 消一 个未确 定的 异步 执行 的
Execute方法 。 其语法为;
Command.Cancel
6.4.2 Command对象的方法
2,CreateParameter方法
CreateParameter方法用来以指定的属性创建一个新
的 Parameter对象 。 其语法为:
Set Parameter =
Command.CreateParameter(Name,Type,Direction,Size,Valu
e)
6.4.2 Command对象的方法
3,Execute方法
Execute方法用来执行一个由 CommandText属性指定的
查询, SQL语句或者存储过程 。
( 1) 对于一个有返回记录的 Command
Set recordset=Command.Execute(RecordsAffected,Parameters,Options)
6.4.2 Command对象的方法
( 2) 对于一个没有返回记录的 Command
Command.Execute RecordsAffected,Parameters,Options
6.4.2 Command对象的方法
? 表 6-3 CommandText常数值
常数 常数
值
说明
adCmdText 1 指出数据提供者应当将 CommandText作为一个命
令的文本解释对待
adCmdTable 2 ADO会产生 SQL查询,把 CommandText命名的表
的全部行和列返回
adCmdTable
Direct
512 指出数据提供者应当返回 CommandText命名的全
部行和列
adCmdStore
dProc
4 指出数据提供者应当将 CommandText作为是一个
存储过程处理
adCmdUnkn
ow
8 指出在 CommandText参数中的 Command类型是未
知的
adExecuteA
sync
16 指出 CommandText应当以异步方式执行
AdFerchAsy
nc
32 指出除了抓取 Cachesize指定的记录数外,剩余的
行应当以异步方式取得
利用它可以很方便地操纵数据库中的记录 。
所有的 Recordset对象都是通过记录 ( 指一行数据 )
和字段 ( 指一列数据 ) 构造出来的 。
6.5 RecordSet对象
1,AbsolutePage属性
该属性可以设置当前记录的绝对页号 。 从而直接跳至
该页 。 如:
<%
rs.absoultepage=2
%>
6.5.1 RecordSet对象属性
2,AbsolutePosition属牲
该属性指出 Recordset对象当前记录的顺序位置 。 使
用方法如下:
<%
set
rs=server.CreateObject("ADODB.Recordset")
rs.AbsolutePosition = 10
%>
6.5.1 RecordSet对象属性
3,ActiveConnection属性
ActiveConnection 属 性 用 来 指 示 当 前 使 用 的
Connection对象 。 当前的 Command对象和 Recordset对
象将和它关联 。 这个属性可以设置和返回 Connection
使用的字符串 。
6.5.1 RecordSet对象属性
<%@ Language=VBScript %>
<HTML><HEAD></HEAD><BODY>
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};
DBQ= " & server.MapPath("email.mdb")
conn.open
Set rs=Server.CreateObject("ADODB.Recordset")
tablestring="Select * from user"
rs.Open tablestring,conn,adOpenDynamic
%>
当前使用的连接字符串是,<br><%=rs.ActiveConnection %>
<%
rs.Close
Set rs=nothing
conn.Close
%>
</BODY></HTML>
4,BOF属性
该属性指示当前记录是否在首条记录之前, 并返回对
应的布尔值 。
6.5.1 RecordSet对象属性
5,BookMark属性
BookMark属性返回一个 BookMark书签, 可以惟一
地识别当前记录或者设置当前记录至 BookMark所指定
的位置 。
<%
position=rs.Bookmark
...
'其它程序
...
rs.Bookmark =position
%>
6.5.1 RecordSet对象属性
6,Cachesize属性
Cachesize属性指出一个 Recordset对象可存放于缓冲
区的记录数目, 其缺省值为 l。 例如, 如果 Cachesize
定为 12:
<%
rs.CacheSize =12
%>
6.5.1 RecordSet对象属性
7,CursorLocation属性
该属性可设置或返回光标引擎所处的位置, 可取的常
数值有以下两种:
adUseClient,常数值为 1。
adUseServer,常数值为 2。
6.5.1 RecordSet对象属性
8,CursorType属性
该属性可设置或返回 Recordset对象所用光标的类
型 。 不同的光标类型对应着不同的数据获得方式, 每
种 方 式 各 有 其 优 缺 点 。 其 缺 省 方 式 为
adOpenForwardOnly。
6.5.1 RecordSet对象属性
9,EditMode属性
EditMode属性指出当前记录的编辑状态 。 其可选常数
取值如下:
adEditNone,常数值是 0。
adEditInprogress,常数值是 1。
adEditAdd,常数值是 2。
adEditDelete,常数值是 4。
6.5.1 RecordSet对象属性
10,EOF属性
该属性指示当前记录指针是否在最后一条记录之后,
并返回对应的布尔值 。
11,LockType属胜
LockType属性在编缉时指示当前记录的锁定类型 。
12,MaxRecords属性
该属性可设置或返回在一次请求时可以从数据源得
到的最大记录数 。
6.5.1 RecordSet对象属性
13,PageCount属性
该属性指明当前 Recordset对象所包含的页数 。
14,Pagesize属性
该属性指示在 Recordset对象内组成一页的数据数,
其缺省值为 10。
15,Recordcount属性
可以使用 Recordcount属性来查询在一个记录集内有
多少条记录 。
6.5.1 RecordSet对象属性
16,State属性
该属性说明所有可用对象的当前状态是关闭或者是打
开的,
17,Status属性
该属性指示当前记录所处的状态标志 。 这些标志在记
录被更改, 删除, 插入和改变位置时会受到影响 。
6.5.1 RecordSet对象属性
1,Open方法
在 Recordset对象上使用 Open方法, 将开启一个光标,
它代表表中的所有记录, 一个查询的结果或以前已储
存的 Recordset对象 。 使用 Open方法可以打开一个记
录集, 其语法为:
rs.Open sqlstr,conn,Cursor,lock,Options
6.5.2 RecordSet对象的方法
6.5.2 RecordSet对象的方法
<%
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("email.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
SQLQuery = "SELECT * FROM user"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQLQuery,conn,adOpenKeyset,adLockReadOnly
rs.Close
Set rs=nothing
conn.Close
% >
2,Close方法
Close方法用来关闭一个 Recodset对象及其相关的对
象 。 其语法为:
Recordset.Close
<%
rs.Close
Set rs=nothing
%>
6.5.2 RecordSet对象的方法
3,AddNew方法
AddNeW方法用来在一个可更新的 Recordset对象内新
增一条记录 。 其语法为:
rs.addnew
6.5.2 RecordSet对象的方法
<%@ Language=VBScript %>
<HTML><HEAD></HEAD><BODY>
<%
Set conn=Server.CreateObject("ADODB.Connection")
Dim dbstring= server.MapPath("email.mdb")
conn.ConnectionString = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ= " & dbstring
conn.open
Set rs=Server.CreateObject("ADODB.Recordset")
tablestring="Select * from user"
rs.Open tablestring,conn,3,3
rs.AddNew
rs("username")=Request.Form("text1")
rs("password")=Request.Form("password1")
rs.Update
%>
用户名,<%=Request.Form("text1")%><br>
密码,<%=Request.Form("password1")%><br>
<br><br>注册成功 !!!
</BODY></HTML>
4,CancelBatch方法
CancelBatch方法用来取消一个没有确定的分批更新
动作 。 其语法为;
Recordset.CancelBatch AffectRecords
6.5.2 RecordSet对象的方法
5,Cancelupdate方法
Cancelupdate方法用来取消任何对当前记录的未确定
的改变动作, 或者在调用 update方法前取消一个新增
的记录 。 其语法为:
Recordset.Cancelupdate
6.5.2 RecordSet对象的方法
6,Clone方法
Clone方法用来为目前的 Recordset对象创建一个副本 。
其语法为:
Set CloneRecodset=RecordsetClone LockType
6.5.2 RecordSet对象的方法
7,Delete方法
Delete方法用来删除 Recordset对象中的一条或一组
记录 。 其语法为:
Recordset.Delete
6.5.2 RecordSet对象的方法
8,Move方法
Move方法用来移动一个 Recordset对象记录指针的位
置 。 其语法为:
recordset.Move NumRecords
6.5.2 RecordSet对象的方法
9,MoveFirst,MoveLast,MoveNext,MovePrevious方法
这几种方法用来在指定的 Recedset对象中移动到第一
条, 最后一条, 下一条和前一条记录且使该记录成为
当前记录 。 其语法如下:
Recordset.MoveFirst 把当前记录指针移动到表的开始 。
Recordset.MoveLast 把当前记录指针移动到表的末尾 。
Recordset.MoveNext 把当前记录指针向后移动一条记录 。
Recordset.MovePrevious 把当前记录指针向前移动一条记录 。
6.5.2 RecordSet对象的方法
10,Supports方法
Supports方法用来判断指定的 Supports对象是否支持指定的
功能类型 。 其语法为:
Boolean = Recordset.Supports(CursorOptions)
6.5.2 RecordSet对象的方法
11,Update方法
Update方法用来将改变后的当前记录存入数据库中 。 其语法
为;
recordset.Update Fields,Values
6.5.2 RecordSet对象的方法
本章主要讲解:
SQL语言的使用方法
ASP连接 SQL SERVER数据库的方法
如何添加, 修改, 删除数据表的一条记录
6.1 结构化查询语言( SQL)
SQL是 Structure Query Language的缩写。
使用 SQL语言,可以从数据库中获取数据、建立
数据库和数据库的对象,增加数据、修改数据和实
现复杂的查询功能。
6.1.1 SQL常用语句
1,查询语言
查询语句是用来对已经存在数据库中的数据按照特定
的组合, 条件表达式或者次序进行检索,
6.1.1 SQL常用语句
1,查询语言
其一般格式为,SELECT[ALL|DISTINCT]<目标列表达式 >[,<
目标列表达式 >]…
FROM<表名或视图名 >[,<表名或视图名 >]…
[WHERE<条件表达式 >]
[GROUP BY<列名 1> [HAVING<条件表达式 >]]
[ORDER BY<列名 2> [ASC|DESC] ]
1,查询语言
( 1)查询表中指定列
SELECT username,password FROM user
1,查询语言
( 2)查询全部列
SELECT * FROM user
1,查询语言
( 3)查询经过计算的值
查询全体用户的用户名及其年龄语句如下:
SELECT username,2004 - YEAR(born) AS 年龄 FROM user
1,查询语言
( 4)查询满足条件的元组
例 4,查询全体男用户的信息语句如下:
SELECT * FROM emailuser WHERE sex = '男 '
1,查询语言
( 5)对查询结果排序
查询所有男用户的信息, 查询结果按 id的降
序排列语句如下:
SELECT * FROM user WHERE sex='男 ' ORDER BY id DESC
1,查询语言
( 6)对查询结果分组
查询用户中男女的人数各是多少:
SELECT sex,COUNT(sex) AS Expr1 FROM user GROUP BY sex
1,查询语言
( 7)连接查询
查询购买了货号为, 10003002” 的用户的详细信
息:
SELECT user.* FROM user,finish
WHERE user.username=finish.user and finish.hh= 10003002
1,查询语言
( 8)嵌套查询
查询比用户, jiangli”年龄大的其他用户信息,
SELECT * FROM user
WHERE 2003-year(born) >
(SELECT 2003-year(born) FROM user WHERE user=’jiangli ’)
2,数据操纵语言 DML
( 1) INSERT语句
INSERT语句可给数据库中的某一个表添加一条或多条新记录。
INSERT语句常用的使用方式如下:
INSERT tablename (column1,column2,...columnX)
VALUES(value1,value2,...valueX)
2,数据操纵语言 DML
( 2) UPDATE语句
UPDATE语句可以更改表或视图中单条记录、多条记录或
所有记录的数据值。
UPDATE {table_name | view_name}
SET {column=expression[,...]}
WHERE CURRENT OF cursor_name
2,数据操纵语言 DML
( 2) UPDATE语句
例如:将 ID为 11000的用户的电话号码改为 027-81234567
UPDATEuser
SET telephone=027-81234567
WHERE id=11000
2,数据操纵语言 DML
( 3) DELETE语句
DELETE 语句可删除表或视图中的一条或多条记录,
DELETE table_or_view FROM table_sources WHERE search_condition
例如:删除 id为 110的用户记录
DELETE
FROM user
WHERE id =110
3,数据定义语言 DDL
DDL用来建立数据库中各种数据对象 ( 包括表, 视图, 索引,
存储过程, 触发器等 ), 有三种基本形式:
( 1) CREATE,新建数据库对象 。
( 2) ALTER,更新已有数据对象的定义 。
( 3) DROP,删除已经存在的数据对象
4,数据控制语言 DCL
DCL用于授予或者收回访问数据库的某种权限和事务控
制, 主要包括四种基本形式:
( 1) GRANT,授予权限
( 2) REVOKE,收回权限
( 3) COMMIT,提交事务
( 4) ROLLBACK,回滚事务
6.1.2 SQL基本操作符
查 询 条 件 谓 词
比较 =,>,<,>=,<=,!=,<>,!>,!<;
NOT+上述比较运算符
确定范围 BETWEEN AND,NOT BETWEEN AND
确定集合 IN,NOT IN
字符匹配 LIKE,NOT LIKE
空值 IS NULL,IS NOT NULL
多重条件 AND,OR
? 表 6-3 SQL常用聚合函数
函 数
名
说 明
COUNT 统计表中记录数,返回 int类型整
数
AVG 计算字段的平均值
SUM 计算字段值的和
MAX 求最大值
MIN 求最小值
2,AVG函数
使用函数 AVG( ) 可以返回一个字段中所有值的平均值 。
3,SUM函数
SELECT SUM(Sell) FROM Orders
函数 SUM()的返回值代表字段 Sell中所有数据的总和 。
4,MAX()和 MIN()函数
SELECT MAX(vote) AS 最高评价人数 FROM Vote_Detail
SELECT MIN(vote) AS 最低评价人数 FROM Vote_Detail
1,ASP访问数据库的方式
在 ASP脚本中可以通过三种方式访问数据库,
传统的 IDC方式
ADO方式
RDS方式 。
6.2 ADO组件模型
( 1) Internet数据库接口 ( IDC)
IDC是一个传统的数据库查询工具, 可以利用其来定义和执
行数据库查询的 SQL命令, 并向浏览器返回一个指定数据格式
的页面 。
6.2 ADO组件模型
( 2) ActiveX数据对象 ( ADO)
ADO把绝大部分的数据库操作都封装在七个对象中, 在 ASP
页面中编写程序时, 仅需调用这些对象就可执行相应的数据库
操作 。
ADO使用本机数据源, 通过 ODBC访问数据库 。 这些数据库可
以是关系型数据库, 文本型数据库, 层次型数据库或者任何支
持 ODBC的数据库 。
6.2 ADO组件模型
( 3) 远程数据服务 ( RDS)
RDS支持数据远程操作, 不仅能执行查询并返回数据库查询
结果, 而且这种结果是, 动态的,, 服务器上的数据库与客户
端看到的数据保持, 活的连接关系, 。
6.2 ADO组件模型
2,ADO简介
ADO是一种可移植组件, 且可以跨平台移植 。
ADO数据对象是开发访问 OLE DB数据库应用程序的一种 API
( 应用程序接口 ) 。
ADO几乎兼容于所有的数据库系统, 并对各种数据库都提供
相同的处理界面供程序设计人员使用 。
6.2 ADO组件模型
3,ADO的对象
l) 连接对象 ( connection)
表示正在使用的数据源和 ADO接口之间的连接 。
Connection对象一般用来与数据库的打开和通信, 但
也可以打开对其它数据资源 ( 如普通文本文件, 文件系统 ) 的
连接 。
6.2 ADO组件模型
2) 记录集对象 ( Recordset)
该对象代表来自一个数据提供者的一组记录 。
3) 域对象 ( fields)
代表一个记录集中的一个域 。
4) 命令对象 ( command)
代表一个命令 。
6.2 ADO组件模型
5) 参数对象 ( Parameter)
代表 SQL存储过程或有参数查询中的一个参数, 此参数将传
给 command对象 。
6) 属性对象 ( Propertics)
代表数据提供者的具体属性 。
7) 错误对象 ( Error)
代表 ADO错误, 可以判断错误原因 。
6.2 ADO组件模型
6.2 ADO组件模型
数据库的所有通信都要通过一个打开的连接来进行, 这是通
过 ADO中的连接对象来完成的 。
6.3 Connection对象
1,Attributes属性
代表数据库连接的状态, 即事务处理方法 。 在 Connection
对象中, 这个属性可以设置两个值:
(1) adXactCommitRetaining在调用 CommitTrans
方法后, 自动启动新事务
(2) adXactAbortRetaining在调用 RollbackTrans方法后, 自
动启动新事务
6.3.1 Connection对象属性
2,CursorLocation属性
CursorLocation属性的取值有两个,
adUseClient,adUseServer( 默认 )
6.3.1 Connection对象属性
Set conn=Server.CreateObject("ADODB.Connection")
conn.CursorLocation=adUseClient
strConn="driver={SQL
Server};server=jiangli;uid=sa;pwd=;database=pubs"
conn.open strConn
set rs=Server.CreateObject("ADODB.RecordSet")
rs.open "",conn,,,
3,CommandTimeout属性
ConnectionTimeout属性, 可以限制在放弃连接尝试并发出
错误消息之前应用程序等待的时间 。
6.3.1 Connection对象属性
Set conn=Server.CreateObject("ADODB.Connection")
Conn.CommandTimeout=20
Conn.open,filedsn=myDataBase.dsn”
4,ConnectionString属性
ConnectionString属性将返回一个字符串, 该字符串中包含
了创建数据连接时所用的信息 。
Connection对象可以接受该属性的五个参数,,
( 1) ProviderOLEDB,提供者的名字
( 2) DataSource,指定数据源的名字
( 3) UserID,指定连接数据源时的用户 ID
( 4) Password,指定连接数据源时用户的密码
( 5) FileName,指定要连接的数据库名字
6.3.1 Connection对象属性
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.ConnectionString="DBQ="+server.mappath("email.mdb")+";
DefaultDir=;DRIVER={Microsoft Access Driver
(*.mdb)};"
conn.open
%>
6.3.1 Connection对象属性
5,ConnectionTimeout属性
创建连接时所等待的时间, 默认 15秒, 可读写 。
6,DefaultDatabase属性
当前连接的数据库的缺省名称, 可读写 。
6.3.1 Connection对象属性
7,Mode属性
这个属性指定了打开 OLEDB数据源时所拥有的读, 写和共享权限 。
8,Version属性
返回 ADO的版本号 。
6.3.1 Connection对象属性
1,Open方法
Open方法用来打开一个对象与数据源的连接, Open语法为:
dbcon.Open Connectionstring,Username,Password
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "DSN=TEST;UID=uid;PWD=pwd"
%>
6.3.2 Connection对象的方法
1,Open方法
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "PROVIDER=SQLOLEDB;DATA SOURCE=JIANGLI;
UID=SA;PWD=secret;DATABASE=BOOK"
%>
6.3.2 Connection对象的方法
1,Open方法
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.ConnectionString ="DSN=CATCH;UID=uid;PWD=pwd"
conn.Open
%>
6.3.2 Connection对象的方法
2,Close
Close方法用来关闭一个对象与数据源的连接 。 Close
语法为:
conn.Close
3,BeginTrans方法
BeginTrans方法用于开始一个新事务 。
6.3.2 Connection对象的方法
4,CommitTrans方法
利用 CommitTrans方法来提交所有事务的处理结果 。
其语法:
Connection.CommitTrans
6.3.2 Connection对象的方法
<%@ Language=VBScript %>
<%
dim conn
dim connstr
connstr="DBQ="+server.mappath("email.mdb")+";DefaultDir=;
DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
conn.BeginTrans
conn.Execute "insert into user (username,password)
values('lyd','123456')"
conn.Execute "delete from user where id=57"
conn.CommitTrans
%>
6.3.2 Connection对象的方法
5,RollbackTrans方法
利用 RollbackTrans方法来放弃所有的事务处理结果 。
其语法如下:
Connection,RollbackTrans
6.3.2 Connection对象的方法
6,Execute方法
打开数据库连接后, 可以用 connection对象的
execute方法执行任何 SQL语句 。 如创建数据表, 进行
数据库的数据查询, 以及在数据表中插入, 更新, 删
除和选择数据等 。
6.3.2 Connection对象的方法
1,连接字符串
( 1) 微软 Access
如果使用 ODBC,而没有 DSN:
DRIVER={Microsoft Access Driver (*.mdb)};DBQ=database_name.mdb
例如:
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)};
DBQ= C:\liubing\database_name.mdb "
%>
6.3.3 数据库连接方式
( 2) 微软 SQL Server
对于微软 SQL Server,使用针对 ODBC提供者的格式如
下:
Driver={SQL Server};Server=server_name;Database=database_name;
UID=user_name;pwd=user_password
例如:
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open " Driver={SQL Server};DATA SOURCE=JIANGLI;
UID=SA;PWD=123456;DATABASE=BOOK"
%>
6.3.3 数据库连接方式
6.3.3 数据库连接方式
( 2) 微软 SQL Server
对于微软 SQL Server,使用针对 ODBC提供者的格式如
下:
Driver={SQL Server};Server=server_name;Database=database_name;
UID=user_name;pwd=user_password
例如:
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open " Driver={SQL Server};DATA SOURCE=JIANGLI;
UID=SA;PWD=123456;DATABASE=BOOK"
%>
6.3.3 数据库连接方式
2,数据链接文件
这是一个含有连接细节的文件 (扩展名为,udl),优
点是对于任何数量的 ASP页面只需要一个数据链接文
件 。
6.3.3 数据库连接方式
3,ODBC数据源, 或 DSN
<%
Set
conn=Server.CreateObject("ADODB.Connection")
conn.Open "DSN=KKK"
%>
6.3.3 数据库连接方式
6.3.3 数据库连接方式
1,使用包含文件
创建一个新的 ASP文件, 不妨称为 Connection.asp,
并在这个文件中加入下面的代码:
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Provider=SQLOLEDB;Data Source=JIANGLI;Initial Catalog=book;
" &_
"User Id=sa;Password=123456"
%>
在其它的 ASP页面中, 可以在顶端加入这一行:
<!--#include file=" Connection.asp "-->
6.3.4 Connection对象的应用
2,使用连接状态
将连接字符串存入应用程序变量是一个常用的技巧, 同使用一
个包含文件一样有效 。 例如, 可以在 global.asa文件中加入
下面的代码:
Sub Application_Onstart()
strConn="Provider=SQLOLEDB;Data Source=JIANGLI;Initial
Catalog=book; " &_
"User Id=sa;Password=123456"
Set Application("ConnectionString")=strConn
End Sub
在 ASP页面中,可以使用下面的代码:
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open Application("ConnectionString")
%>
6.3.4 Connection对象的应用
6.4.1 Command对象属性
1,ActivcConnection属性
ActivcConnection 属 性 指 出 当 前 Command 对 象 所 连 接 的
Connection对象 。
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver
(*.mdb);DBQ=C:\liubing\lb.mdb;"
set comm=Server.CreateObject("ADODB.Command")
comm.ActiveConnection = conn
%>
6.4 Command对象
2,CommandText属性
使用 CommandText属性可设置或返回对数据提供者的
查询字符串 。
<%
set comm=Server.CreateObject("ADODB.Command")
set comm.ActiveConnection = "DSN=eshop;UID=sa;PWD=123456"
set comm.CommandText="user"
set comm.CommandType=adCmdTable
%>
6.4 Command对象
3,CommandTimeout属性
CommandTimeout属性可设置执行一个 Command对象
时所等待的时间 ( 单位为秒 ), 其缺省值是 30秒, 如
果在这个时间之内 Command对象未执行完成, 命令将
被终止并产生一个错误 。
6.4 Command对象
? 表 6-2 CommandType常数值
常数 常数值 说明
adCmdText 1 CommandText是一个包含着命令或存储过程调用的文
字串
adCmdTable 2 CommandText是一个表名,ADO会产生一个对它的
SQL查询以返回它的全部行和列
adCmdTableDirec
t
512 CommandText是一个表,在查询中它的全部行和列将
被返回
adCmdStoredProc 4 CommandText是一个存储过程名
adCmdUnknow 8 缺省。 CommandText属性内容是未知的
adCmdFile 256 CommandText是一个已存在的记录集的文件名
adExecuteNoReco
rds
128 CommandText是一个不返回记录的命令或赶集过程。
如果只可以取得记录,这些记录将被丢弃而不返回任
何结果。它总是和 adCmdText或 adCmdStoredProc一起
使用。
5,Prerared属性
Prerared属性指出在调用 Command对象的 Execute方
法时, 是否将查询的编译结果存储下来, 这是一个布
尔类型的值 。
6.4 Command对象
1,Cancel方法
Cancel方法用 来取 消一 个未确 定的 异步 执行 的
Execute方法 。 其语法为;
Command.Cancel
6.4.2 Command对象的方法
2,CreateParameter方法
CreateParameter方法用来以指定的属性创建一个新
的 Parameter对象 。 其语法为:
Set Parameter =
Command.CreateParameter(Name,Type,Direction,Size,Valu
e)
6.4.2 Command对象的方法
3,Execute方法
Execute方法用来执行一个由 CommandText属性指定的
查询, SQL语句或者存储过程 。
( 1) 对于一个有返回记录的 Command
Set recordset=Command.Execute(RecordsAffected,Parameters,Options)
6.4.2 Command对象的方法
( 2) 对于一个没有返回记录的 Command
Command.Execute RecordsAffected,Parameters,Options
6.4.2 Command对象的方法
? 表 6-3 CommandText常数值
常数 常数
值
说明
adCmdText 1 指出数据提供者应当将 CommandText作为一个命
令的文本解释对待
adCmdTable 2 ADO会产生 SQL查询,把 CommandText命名的表
的全部行和列返回
adCmdTable
Direct
512 指出数据提供者应当返回 CommandText命名的全
部行和列
adCmdStore
dProc
4 指出数据提供者应当将 CommandText作为是一个
存储过程处理
adCmdUnkn
ow
8 指出在 CommandText参数中的 Command类型是未
知的
adExecuteA
sync
16 指出 CommandText应当以异步方式执行
AdFerchAsy
nc
32 指出除了抓取 Cachesize指定的记录数外,剩余的
行应当以异步方式取得
利用它可以很方便地操纵数据库中的记录 。
所有的 Recordset对象都是通过记录 ( 指一行数据 )
和字段 ( 指一列数据 ) 构造出来的 。
6.5 RecordSet对象
1,AbsolutePage属性
该属性可以设置当前记录的绝对页号 。 从而直接跳至
该页 。 如:
<%
rs.absoultepage=2
%>
6.5.1 RecordSet对象属性
2,AbsolutePosition属牲
该属性指出 Recordset对象当前记录的顺序位置 。 使
用方法如下:
<%
set
rs=server.CreateObject("ADODB.Recordset")
rs.AbsolutePosition = 10
%>
6.5.1 RecordSet对象属性
3,ActiveConnection属性
ActiveConnection 属 性 用 来 指 示 当 前 使 用 的
Connection对象 。 当前的 Command对象和 Recordset对
象将和它关联 。 这个属性可以设置和返回 Connection
使用的字符串 。
6.5.1 RecordSet对象属性
<%@ Language=VBScript %>
<HTML><HEAD></HEAD><BODY>
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};
DBQ= " & server.MapPath("email.mdb")
conn.open
Set rs=Server.CreateObject("ADODB.Recordset")
tablestring="Select * from user"
rs.Open tablestring,conn,adOpenDynamic
%>
当前使用的连接字符串是,<br><%=rs.ActiveConnection %>
<%
rs.Close
Set rs=nothing
conn.Close
%>
</BODY></HTML>
4,BOF属性
该属性指示当前记录是否在首条记录之前, 并返回对
应的布尔值 。
6.5.1 RecordSet对象属性
5,BookMark属性
BookMark属性返回一个 BookMark书签, 可以惟一
地识别当前记录或者设置当前记录至 BookMark所指定
的位置 。
<%
position=rs.Bookmark
...
'其它程序
...
rs.Bookmark =position
%>
6.5.1 RecordSet对象属性
6,Cachesize属性
Cachesize属性指出一个 Recordset对象可存放于缓冲
区的记录数目, 其缺省值为 l。 例如, 如果 Cachesize
定为 12:
<%
rs.CacheSize =12
%>
6.5.1 RecordSet对象属性
7,CursorLocation属性
该属性可设置或返回光标引擎所处的位置, 可取的常
数值有以下两种:
adUseClient,常数值为 1。
adUseServer,常数值为 2。
6.5.1 RecordSet对象属性
8,CursorType属性
该属性可设置或返回 Recordset对象所用光标的类
型 。 不同的光标类型对应着不同的数据获得方式, 每
种 方 式 各 有 其 优 缺 点 。 其 缺 省 方 式 为
adOpenForwardOnly。
6.5.1 RecordSet对象属性
9,EditMode属性
EditMode属性指出当前记录的编辑状态 。 其可选常数
取值如下:
adEditNone,常数值是 0。
adEditInprogress,常数值是 1。
adEditAdd,常数值是 2。
adEditDelete,常数值是 4。
6.5.1 RecordSet对象属性
10,EOF属性
该属性指示当前记录指针是否在最后一条记录之后,
并返回对应的布尔值 。
11,LockType属胜
LockType属性在编缉时指示当前记录的锁定类型 。
12,MaxRecords属性
该属性可设置或返回在一次请求时可以从数据源得
到的最大记录数 。
6.5.1 RecordSet对象属性
13,PageCount属性
该属性指明当前 Recordset对象所包含的页数 。
14,Pagesize属性
该属性指示在 Recordset对象内组成一页的数据数,
其缺省值为 10。
15,Recordcount属性
可以使用 Recordcount属性来查询在一个记录集内有
多少条记录 。
6.5.1 RecordSet对象属性
16,State属性
该属性说明所有可用对象的当前状态是关闭或者是打
开的,
17,Status属性
该属性指示当前记录所处的状态标志 。 这些标志在记
录被更改, 删除, 插入和改变位置时会受到影响 。
6.5.1 RecordSet对象属性
1,Open方法
在 Recordset对象上使用 Open方法, 将开启一个光标,
它代表表中的所有记录, 一个查询的结果或以前已储
存的 Recordset对象 。 使用 Open方法可以打开一个记
录集, 其语法为:
rs.Open sqlstr,conn,Cursor,lock,Options
6.5.2 RecordSet对象的方法
6.5.2 RecordSet对象的方法
<%
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("email.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
SQLQuery = "SELECT * FROM user"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQLQuery,conn,adOpenKeyset,adLockReadOnly
rs.Close
Set rs=nothing
conn.Close
% >
2,Close方法
Close方法用来关闭一个 Recodset对象及其相关的对
象 。 其语法为:
Recordset.Close
<%
rs.Close
Set rs=nothing
%>
6.5.2 RecordSet对象的方法
3,AddNew方法
AddNeW方法用来在一个可更新的 Recordset对象内新
增一条记录 。 其语法为:
rs.addnew
6.5.2 RecordSet对象的方法
<%@ Language=VBScript %>
<HTML><HEAD></HEAD><BODY>
<%
Set conn=Server.CreateObject("ADODB.Connection")
Dim dbstring= server.MapPath("email.mdb")
conn.ConnectionString = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ= " & dbstring
conn.open
Set rs=Server.CreateObject("ADODB.Recordset")
tablestring="Select * from user"
rs.Open tablestring,conn,3,3
rs.AddNew
rs("username")=Request.Form("text1")
rs("password")=Request.Form("password1")
rs.Update
%>
用户名,<%=Request.Form("text1")%><br>
密码,<%=Request.Form("password1")%><br>
<br><br>注册成功 !!!
</BODY></HTML>
4,CancelBatch方法
CancelBatch方法用来取消一个没有确定的分批更新
动作 。 其语法为;
Recordset.CancelBatch AffectRecords
6.5.2 RecordSet对象的方法
5,Cancelupdate方法
Cancelupdate方法用来取消任何对当前记录的未确定
的改变动作, 或者在调用 update方法前取消一个新增
的记录 。 其语法为:
Recordset.Cancelupdate
6.5.2 RecordSet对象的方法
6,Clone方法
Clone方法用来为目前的 Recordset对象创建一个副本 。
其语法为:
Set CloneRecodset=RecordsetClone LockType
6.5.2 RecordSet对象的方法
7,Delete方法
Delete方法用来删除 Recordset对象中的一条或一组
记录 。 其语法为:
Recordset.Delete
6.5.2 RecordSet对象的方法
8,Move方法
Move方法用来移动一个 Recordset对象记录指针的位
置 。 其语法为:
recordset.Move NumRecords
6.5.2 RecordSet对象的方法
9,MoveFirst,MoveLast,MoveNext,MovePrevious方法
这几种方法用来在指定的 Recedset对象中移动到第一
条, 最后一条, 下一条和前一条记录且使该记录成为
当前记录 。 其语法如下:
Recordset.MoveFirst 把当前记录指针移动到表的开始 。
Recordset.MoveLast 把当前记录指针移动到表的末尾 。
Recordset.MoveNext 把当前记录指针向后移动一条记录 。
Recordset.MovePrevious 把当前记录指针向前移动一条记录 。
6.5.2 RecordSet对象的方法
10,Supports方法
Supports方法用来判断指定的 Supports对象是否支持指定的
功能类型 。 其语法为:
Boolean = Recordset.Supports(CursorOptions)
6.5.2 RecordSet对象的方法
11,Update方法
Update方法用来将改变后的当前记录存入数据库中 。 其语法
为;
recordset.Update Fields,Values
6.5.2 RecordSet对象的方法