展会信息港展会大全

6大对象和数据库操作简单学 android软件开发教程
来源:互联网   发布日期:2016-03-01 13:09:04   浏览:2108次  

导读:ASP学习步骤:1、5个对象 Request、Response、Session、Server、Applictaion 2、两个数据库组件 Adodb.Recordset Adodb.Conn...

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") 得到CookiesCookies一般用于存储用户信息 用于验证 一般用于用户验证之类的 Session也有同样的类型 区别是Session是存在服务器上 Cookies是存在用户硬盘上 一般可以省略点方法 直接用Request("参数名") 他会依次用From QueryString Cookies去取值Request 差不多就这些了

二、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("/")那么和path = "c:" 是一样的 基于根目录

Server.CreateObject 这个注册组件的比较常用 Server.CreateObject("Adodb.RecordSet") 注册一个数据库组件

五 Applictaion是一个全局对象 他和Session是一样的 区别在于 Session是存储单个的用户信息 Application是存储全局信息

Application("Site") = "Http://www.`````.com" 只要在该站点下的所有文件都可以调用这个Application二级域名不可以调用这个Application,而要用Cookies 设置他的可用域名

=======================================================

六、Adodb.Connection 连接数据库 先注册一个Conn对象 Set Conn = Server.CreateObject("Adodb.Connection")//用Server对象的CreateObject方法然后再用Connection的open方法连接数据库 Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.Mappath("Date.mdb")Server.Mappath("Date.mdb")即当前目录下面的Date.Mdb一般我们把这个放在Conn.asp里面

<%

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.Execute(Sql) 执行一条SQL语句Conn.Execute("Insert Into Tablename(1,2,)Values(1,2)")

Conn.Close 关闭对象insert 插入一条数据 update修改数据 delete删除 select 查询

七、Adodb.Recordset 返回一个记录集 先也是注册对象 Set Rs = Server.CreateObject("Adodb.Recordset") 这个rs是可以自己定义的 不一定一定要用rs 或者conn因为这些是Com组件(也就是用deiphl C++写的dll,一些asp本身不能实现的功能 ) 不是asp的内置对象 ,所以要注册对象

然后也是用Open方法打开记录集 Rs.Open "Select * From TableName",Conn,1,3Rs.Open Sql语句,Conn对象,1,3 (1,3参数一会讲)Sql语句 一般是一条查询语句Conn对象就是刚才上面Connection打开的数据库对象

1 打开数据库的游标类型

3 这个参数这里 如果改为1的话 就不能对库进行操作,不能更新和删除(不能使用Rs.Addnew,Rs.Update,Rs.Delete)改为2 以独占的形式打开(当有一个用户在修改库的时候,就会锁定库,保持数据的一致性)

3 可以对库进去任何操作,包括删除 修改 更新 添加

这里一般我会用两种 在列表页的时候 因为不用操作库,只读查询就行了 Rs.Open Sql,Conn,1,1在添加修改数据的时候 用Rs.Open Sql,Conn,1,3Rs.Bof是否为第一条数据 是 返回 True 反之 返回FalseRs.Fof 是否为最后一条数据 是 返回 True 反之 返回False 那就可以用这个来判断数据库里有没有记录if rs.eof and rs.bof then 就是说当前游标 不在第一条也不在最后一条 就说明没有记录if rs.eof then 这样说明有记录 那么我们就用个循环把数据输出Rs和Conn一样理解,是变量

Set Rs = Server.CreateObject("Adodb.Recordset")

Rs.Open Sql,Conn,1,1

If Not Rs.Eof Then 如果不在记录集的未端,说明有记录

Do While Not Rs.Eof直到该记录集的最后 跳出循环

Response.Write Rs("字段名")

Rs.MoveNext 游标向下移动

Loop

End If

Rs.Close //注销对象

Set Rs = Nothing //释放资源

因为asp是弱类型的 定量对象时不用定义类型

如果是C# 就是

int i;string str; asp 就 dim i,str 还有asp定义变量不能赋初始值

C#int i = 1;

aspdim ii = 1

下面讲一下指针移动(就上面的游标,应该是指针,游标是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

'如果curpage等于空 或者 不是数值类型 或者 curpage大于总数

curpage = 1

'那么curpage等于1

End If

Rs.absolutepage = curpage '设置当前记录集页面

i = 1

If Not Rs.Eof Then 如果不在记录集的未端,说明有记录

Do While Not Rs.Eof and i < PageSize如果已经是数据集的最后一条记录 或者 i已经大于 Rs.PageSize 就退出

Response.Write Rs("字段名")

i = i + 1 每循环一次 i + 1

Rs.MoveNext 指针向下移动

Loop

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 是上面用Reqeust.Querystring得到的当前页

首页:

这个使用当前页是否为第一页时判别,如果当前为第一页(也就是首页),那么显示首页两字,没有链接,否则提供直接跳转到首页的链接。

上一页:

当前为第一页时,链接失效,反过来,链接到当前面的上一页,这里使用:<%=curpage-1%>,就是用当前的页数减去1,得到上一页。

下一页:

这里需要使用rs.pagecount这个属性来比较,假如总页数小于当前页数加1的值,那表明这就是第后一页,链接将失效,否则链接到下一页。

尾页:

和下一页的功能一样判定出是最后页时链接失效,否则将当前页指定为rs.pagecount(总页数)。

<%

Rs.Close //注销对象

Set Rs = Nothing //释放资源

%>

Rs.Addnew这是新增一条记录 打开的数据集必须为1,3

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"'修改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"'删除id为1的数据

Rs.Open Sql,Conn,1,3

Rs.Delete() '删除当前记录,但指针不会向下移动,所有如果要删除多条数据的时候 要用到循环

Rs.Close

Set Rs = Nothing

赞助本站

人工智能实验室

相关热词: 开发 编程 android

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港