ASP学习步骤:
1、5个对象
Request、Response、Session、Server、Applictaion
2、两个数据库组件 Adodb.Recordset Adodb.Connection
3、Request.From("表单名称") 得到From表单数据
4、Request.QueryString("Url参数") 得到Url参数
5、index.asp?act=save
6、Request.QueryString("act")
一、request
Request.Cookies("Cookie") 得到Cookies
二、Response
Response.Write 向浏览器输出
Response.Redirect 重转向
Response.End 停止向浏览器输出
Response.Cookies 向客户端写Cookies
Response.Cookies("CookieName") = "test"
Responsp.Cookies("CookieName").Domain="china228.com" 这样写的话
在所有的China228.com的域名下用Request.Cookies("CookieName")都能得到
三、Session
Session("SessionName") = "" 把信息存储到Session里面
If Session("SessionName") <> "" Then
判断Session是否存在 一般用于验证 Session("SessionName") = "" 清空Session
Session.Abandon 清空所有Session
Session.TimeOut = 100 设置Session过期时间 单位为秒
Session是存在服务器上 Cookies是存在用户硬盘上 Session重启了进程池就没有了 Cookies我们就不能控制了
除非写个程序 强制清空
四、Server
Server.Mappath 把虚拟路径转为实际路径,如果你的程序在C盘 那么你用path =
Server.Mappath("/")
Server.CreateObject 这个注册组件的
五 Applictaion
Application("Site") = "Http://www.webjx.com"
只要在该站点下的所有文件都可以调用这个Application
=======================================================
六、Adodb.Connection 连接数据库 先注册一个Conn对象 Set Conn =
Server.CreateObject("Adodb.Connection")
<%
Dim Conn,ConnStr
Set Conn = Server.CreateObject("Adodb.Connection")
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="&Server.Mappath("Date.mdb")
Conn.Open ConnStr
%>
Dim是定义一个变量,asp是弱类型语言 不用定义也可以的,不像C# Java之类的要先定义才能使用
Execute 方法
Conn.Close 关闭对象
七、Adodb.Recordset 返回一个记录集 先也是注册对象 Set Rs =
Server.CreateObject("Adodb.Recordset") 这个rs是可以自己定义的 不一定一定要用rs
或者conn
然后也是用Open方法打开记录集 Rs.Open "Select * From
TableName",Conn,1,3
1 打开数据库的游标类型
3 这个参数这里 如果改为1的话
就不能对库进行操作,不能更新和删除(不能使用Rs.Addnew,Rs.Update,Rs.Delete)
3 可以对库进去任何操作,包括删除 修改 更新 添加
这里一般我会用两种 在列表页的时候 因为不用操作库,只读查询就行了 Rs.Open
Sql,Conn,1,1
Set Rs = Server.CreateObject("Adodb.Recordset")
Rs.Open Sql,Conn,1,1
If Not Rs.Eof Then 如果不在记录集的未端,说明有记录
End If
Rs.Close //注销对象
Set Rs = Nothing //释放资源
因为asp是弱类型的 定量对象时不用定义类型
如果是C# 就是
int i;
C#
asp
下面讲一下指针移动(就上面的游标,应该是指针,游标是C语言里面的,asp没有)
Rs.MoveNext 向下移动一条
Rs.MovePrevious 向上移动一条
Rs.Movefirst 移动到第一条
Rs.MoveLast 移动到最后一条
Rs.Absoluteposition = n 移动记录指针到第n行
常用的就Rs.MoveNext
讲asp分页的几个方法属性
Rs.Pagesize = n 每页显示N条数据
Rs.absolutepage = n 将记录指针移动第N页的第一条数据
Rs.RecordCount 记录集的总记录数
Rs.PageCount 记录集的总页数
<%
Dim Conn,ConnStr
Set Conn = Server.CreateObject("Adodb.Connection")
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="&Server.Mappath("Date.mdb")
Conn.Open ConnStr
Set Rs = Server.CreateObject("Adodb.Recordset")
Rs.Open Sql,Conn,1,1
PageSize = 20
Rs.PageSize = PageSize '每页显示20条
curpage = Request.QueryString("Page") '得到当前页数
If curpage = "" Or IsNumeric(curpage) Or (curpage-Rs.pagecount)
> 0 Then
End If
Rs.absolutepage = curpage '设置当前记录集页面
i = 1
If Not Rs.Eof Then 如果不在记录集的未端,说明有记录
End If
%>
<%if curpage=1 then%>
首页
<%else%>
<a
href="?page=1">首页</a>
<%end if%>
<%if curpage=1 then%>
上一页
<%else%>
<a
href="?page=<%=curpage-1%>">上一页</a>
<%end if%>
<%if rs.pagecount<curpage+1
then%>
下一页
<%else%>
<a
href="?page=<%=curpage+1%>">下一页</a>
<%end if%>
<%if rs.pagecount<curpage+1
then%>
尾页
<%else%>
<a
href="?page=<%=rs.pagecount%>">尾页</a>
<%end if%>
说明
首页:
这个使用当前页是否为第一页时判别,如果当前为第一页(也就是首页),那么显示首页两字,没有链接,否则提供直接跳转到首页的链接。
上一页:
当前为第一页时,链接失效,反过来,链接到当前面的上一页,这里使用:<%=curpage-1%>,就是用当前的页数减去1,得到上一页。
下一页:
这里需要使用rs.pagecount这个属性来比较,假如总页数小于当前页数加1的值,那表明这就是第后一页,链接将失效,否则链接到下一页。
尾页:
和下一页的功能一样判定出是最后页时链接失效,否则将当前页指定为rs.pagecount(总页数)。
<%
Rs.Close //注销对象
Set Rs = Nothing //释放资源
%>
Rs.Addnew
Set Rs = Server.CreateObject("Adodb.Recordset")
Sql = "Select * From Tealename"
Rs.Open Sql,Conn,1,3
Rs.Addnew() 添加记录到记录集未端
Rs("字段名1") = 值1
Rs("字段名2") = 值2
Rs("字段名3") = 值3
Rs.Update() 将修改更新到数据库内
Rs.Close
Set Rs = Nothing
%>
Rs.Update 更新数据
Set Rs = Server.CreateObject("Adodb.Recordset")
Sql = "Select * From Tealename Where id = 1"
Rs.Open Sql,Conn,1,3
Rs("欲更新的字段名1") = 更新后的值1
Rs.Update() 将修改更新到数据库内
Rs.Close
Set Rs = Nothing
Rs.Delete 删除
Set Rs = Server.CreateObject("Adodb.Recordset")
Sql = "Select * From Tealename Where id = 1"
Rs.Open Sql,Conn,1,3
Rs.Delete() '删除当前记录,但指针不会向下移动,所有如果要删除多条数据的时候 要用到循环
Rs.Close
Set Rs = Nothing
插入表情