ASP与数据库-连接、写入、修改、删除、显示代码属性与方法
PageCount 属性: 决定 Recordset 对象包括多少“页”的数据。
这里的“页”是数据记录的集合,大小等于 PageSize 属性的设定,即使最后一页的记录数比 PageSize 的值少,最后一页也算是 PageCount 的一页。必须注意也并不是所有的数据提供者都支持此项属性。 PageSize 属性:显示 Recordset 对象每一页显示的记录数。 PageSize 属性是决定 ADO 存取数据库时如何分页显示的关键,使用它就可以决定多少记录组成一个逻辑上的“一页”。设定并建立一个页的大小,从而允许使用 AbsolutePage 属性移到其它逻辑页的第一条记录。PageSize 属性能随时被设定。 RecordCount 属性:显示 Recordset 对象记录的总数。 rs.RecordCount:游标中的数据记录总数。 rs.MoveFirst: 指向第一条记录。 rs.Move(6): 移动到第6条记录。 rs.MoveLast: 指向最后一条记录。 rs.MovePrev: 指向上一条记录。 rs.MoveNext: 指向下一条记录。 rs.GetRows: 将数据放入数组中Recordset对象的Open函数:
Rs.Open 数据表名称或SQL指令,Connection对象,Recordset类型,锁定类型 参数一:若指定成数据表名称,则打开整个数据表,若指定成Select指令,则所建立的Recordset对象是Select指令选取的数据记录的结果。 参数二:传入某一个已打开的数据库的Connection对象。 参数三:是Recordset类型,它含有下表的四种设置值: Recordset类型的设置值 意义 AdOpenForwardOnly(=0) 只读,且当前数据记录只能向下移动 AdOpenStatic(=3) 只读,当前数据记录可自由移动 AdOpenKeyset(=1) 可读写,当前数据记录可自由移动 AdOpenDynamic(=2) 可读写,当前数据记录可自由移动 AdOpenKeyset和AdOpenDynamic的差别只表现在多人共用数据库时,若以AdOpenKeyset 模式打开数据表,则无法看到其他人新增的数据记录(除非重新启动),如果是以AdOpenDynamic模式打开数据库,则可以看到其他人新增的数据记录。 参数四:是锁定类型,它同样含有四种设置值,见下表: 锁定类型的设置值 意义 adLockReadOnly(=1) 默认值,用来打开只读的数据记录 adLockPessimistic(=2) 悲观锁定 adLockOptimistic(=3) 乐观锁定 adLockBatchOptimistic(=4) 批次乐观锁定 数据库连接--------------------------------MS Access数据库连接用DSN连接并且没有用户名和密码:
<%
set conn=Server.CreateObject("ADODB.Connection")conn.open "YourDSNName"%>用DSN连接并且有用户名和密码:
<%
set conn=Server.CreateObject("ADODB.Connection")conn.open "YourDSNName","username","password"%>用实际的数据库绝对路径连接:
<%
Set conn=Server.CreateObject("ADODB.Connection")Strconn="DRIVER={Microsoft Access Driver (*.mdb)}; "Strconn=Strconn & "DBQ=e:\yanhang\database.mdb" conn.Open Strconn%>用实际的数据库相对路径连接:
<%
Set conn=Server.CreateObject("ADODB.Connection")Strconn="DRIVER={Microsoft Access Driver (*.mdb)}; "Strconn=Strconn & "DBQ=" & Server.MapPath("/database/yanhang.mdb")conn.Open Strconn%> MS SQL Server数据库连接用DSN连接:
<%
set conn=Server.CreateObject("ADODB.Connection")conn.open "DSN=MyDSN;UID=user;PWD=password;DATABASE=databasename"%>不用DSN连接:
<%
Set conn=Server.CreateObject("ADODB.Connection")DSNtemp="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=databasename"conn.open DSNtemp%>Oracle数据库连接:
<%
set conn=server.createobject("adodb.connection")conn.cursorlocation=adUseClientDSNTemp="Provider=MSDAORA.1;Password=xxxxx;User ID=yanhang;Data Source=xxx.world"conn.open DSNtemp%>数据写入……………………………………………………………………………………
<!--#i nclude file="common/conn.asp"--><%set rs=server.createobject("adodb.recordset")sql="select * from online"rs.open sql,conn,3,2rs.addnewrs("name")=request("name")rs("Tel")=request("tel")rs("fax")=request("fax")rs("mail")=request("email")rs("code")=request("zip")rs("content")=request("contents")rs("Address")=request("Address")rs.updaters.close%>数据修改……………………………………………………………………………………
<%if request("action")="edit" then '判断是否修改'取得表单传递的数据
member_name=Trim(Request.Form("member_name"))member_pwd=Trim(Request.Form("member_pwd"))question=Trim(Request.Form("question"))answer=Trim(Request.Form("answer"))realname=Trim(Request.Form("realname"))sex=Trim(Request.Form("sex"))zip=Trim(Request.Form("zip"))address=Trim(Request.Form("address"))tel=Trim(Request.Form("tel"))fax=Trim(Request.Form("fax"))mobile=Trim(Request.Form("mobile"))email=Trim(Request.Form("email"))web=Trim(Request.Form("web"))vip=request.form("vip")remark=Trim(Request.Form("remark")) sql="select * from member where m_id="&m_idset rs=server.createobject("adodb.recordset")rs.open sql,conn,1,3rs("member_name")=member_name
rs("answer")=answerrs("question")=questionrs("member_pwd")=member_pwdrs("realname")=realnamers("sex")=sexrs("zip")=ziprs("tel")=telrs("mobile")=mobilers("fax")=faxrs("address")=addressrs("email")=emailrs("web")=webrs("vip")=viprs("remark")=remarkrs.update
rs.closeset rs=nothingcall ok("资料修改成功!","edit_member.asp?m_id="&m_id)
end if
%>数据删除--数字字段……………………………………………………………………………………
<%set rs=server.createobject("adodb.recordset")sql="select * from pay where ID =1"rs.open sql,conn,1,3if not rs.eof and not rs.bof thenrs.movefirstdo while not rs.eofrs.deleters.movenextloopend ifrs.close%> 数据删除--字符串字段……………………………………………………………………………………<%set rs=server.createobject("adodb.recordset")sql="select * from pay where namer ='aaa'"rs.open sql,conn,1,3if not rs.eof and not rs.bof thenrs.movefirstdo while not rs.eofrs.deleters.movenextloopend ifrs.close%> 数据显示……………………………………………………………………………………<%Lei="行业资讯" '设置显示信息类别set rs=server.CreateObject("adodb.Recordset")sql="Select top 20 * from News where Lei <> '"&Lei&"' order by ID desc"rs.open sql,conn,1,1if rs.eof then '判断数据库内有无信息,防止读取错误%>暂无信息!<%else do while not rc.eof%><%if len(rs("Title")) > 10 then Response.write left(rs("Title"),10)&"..." else Response.write rs("Title") end if%><%'循环显示数据rc.movenext looprc.close set rc=nothingend if%>