|
Asp深度揭密(上)(9)
rs.open sql,conn,3,3
if conn.errors.count>0 then '有错误发生
conn.rollbacktrans '回滚
set rs=nothing
conn.close
set conn=nothing
response.write "交易失败,回滚至修改前的状态!"
response.end
else
conn.committrans '提交事务
set rs=nothing
conn.close
set conn=nothing
response.write "交易成功!"
response.end
end if
%>
②.数据库级的事务
i.创建存储过程
CREATE PROCEDURE [user_info_2]
(@user_name varchar(40),@password varchar(20))
AS
SET XACT_ABORT ON
BEGIN TRANSACTION
delete from user_info where user_name=@user_name and password=@password
COMMIT TRANSACTION
SET XACT_ABORT OFF
ii.在Asp中调用
use_transaction_2.asp
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "course_dsn","course_user","course_password"
sql="user_info_2 '"&request.querystring("user_name")&"','"&request.querystring("password")&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
set rs=nothing
conn.close
set conn=nothing
%>
讨论:两种方式的优劣?
⑶.使用视图
在数据库中定义好视图之后,在Asp中如同使用一个表一样来使用视图
4.一个数据库分页的例子
db_page.asp
<%
on error resume next
Set conn=Server.CreateObject("ADODB.Connection") '创建连接数据库的对象
conn.Open "course_dsn","course_user","course_password" '使用该对象连接数据库
set rs=server.createObject("adodb.recordset")
sql="select * from user_info order by id desc"
|