ASP对数据库的操作方法
2017-01-23 10:56
363 查看
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=adUseClient
DSNTemp="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,2
rs.addnew
rs("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.update
rs.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_id
set
rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,3
rs("member_name")=member_name
rs("answer")=answer
rs("question")=question
rs("member_pwd")=member_pwd
rs("realname")=realname
rs("sex")=sex
rs("zip")=zip
rs("tel")=tel
rs("mobile")=mobile
rs("fax")=fax
rs("address")=address
rs("email")=email
rs("web")=web
rs("vip")=vip
rs("remark")=remark
rs.update
rs.close
set rs=nothing
call 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,3
if not rs.eof and not rs.bof
then
rs.movefirst
do while not
rs.eof
rs.delete
rs.movenext
loop
end if
rs.close
%>
数据删除--字符串字段……………………………………………………………………………………
<%
set
rs=server.createobject("adodb.recordset")
sql="select * from pay where namer
='aaa'"
rs.open sql,conn,1,3
if not rs.eof and not rs.bof
then
rs.movefirst
do while not
rs.eof
rs.delete
rs.movenext
loop
end if
rs.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,1
if 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
loop
rc.close
set
rc=nothing
end if%>
相关文章推荐
- asp.net读取模版并写入文本文件
- Asp.Net SignalR - 简单聊天室实现
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第六章:管理产品图片——多对多关系(上篇)
- ASP.NET Core MVC-WebAPi如何构建路由?
- 2元寻ASP程序员修正网站几个小错误
- ASP通过Jmail能不能同时发送多个邮件
- 在ASP.NET Core MVC中构建简单 Web Api
- ASP.NET\MVC 解决C#上传图片质量下降,图片模糊,水印有杂点的问题
- ASP.NET Core小技巧
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第六章:管理产品图片——多对多关系(上篇)
- ASP.NET Core MVC-WebAPi如何构建路由?
- Raspberry pi SSH服务器拒绝了密码
- 树莓派命令行连接wifi
- asp.net上传图片到服务器方法详解
- 以<asp:Button>为例说明<asp:Button>如何携带数据传递到后台
- 由<asp:DropDownList>理解Page.isPostBack的作用
- 在后台(aspx.cs)页面实现页面跳转
- 对比<input type="text" id="">和<asp:TextBox runat="server" ID="">
- .NET 使用GridView控件绑定数据源个人出现的错误*
- 【Asp.Net】div和span元素的区别