欢迎光临
我们一直在努力

《ASP网页制作教程》笔记-ASP教程,ASP应用

建站超值云服务器,限时71元/月

《asp网页制作教程》。王国荣 编著,人民邮电出版社。

打开mdb数据库的方法:先定义一个openmdb子程序,然后在主程序中调用。
<%
option explicit
sub openmdb(dbname,pwd,conn)
‘dbname-数据库文件的相对路径,pwd-数据库文件的密码,conn-用户定义的connection对象。
对于没有密码的数据库,pwd值可任意。
dim connstr
set conn = server.createobject(“adodb.connection”)
connstr=”provider=microsoft.jet.oledb.4.0;” ‘指定ole db驱动程序
connstr=connstr & “data source=” & server.mappath(“”&dbname&””) ‘指定数据源
connstr=connstr & “;jet oledb:database password=” & pwd ‘指定密码
conn.open connstr
end sub

dim conn,rs
call openmdb(“vote.mdb”,”111″,conn)
set rs=server.createobject(“adodb.recordset”)
rs.open “select * from vote”,conn,2,2
%>

———————————————————————–
连接数据库时,若microsoft提供有ole db驱动程序,就直接使用它,如access。若没有提供,就需用数据库自己的odbc驱动程序,如foxpro。对不同的驱动程序来说,可能都有其专用的参数。
iis/pws 4.0只能存取access97以前的数据库,而不能存取access2000的数据库。
microsoft宣称ole db驱动程序的执行效能优于odbc驱动程序。

———————————————————————–
cookies是记录在浏览器的信息,而其他asp对象的信息存储在server端,因此,只有在浏览器开始浏览server的某一网页,而server尚未下载任何数据给浏览器之前,浏览器才能与server进行cookie数据的交换。解决的办法是先将数据写到缓冲区。
由于在cookie的生命周期中,只有关闭浏览器才会消失,而session因有timeout的设置,即使浏览器打开,中途也可能消失。因此,对于需要将数据分成各个阶段来输入的网页来说,使用cookie对象来存放阶段性的数据比session对象合适。
不同公司的浏览器cookie是彼此不兼容的。
ie的cookie存放在\windows\cookies\文件夹内。
cookie生命周期的设置方法:
response.cookie(“userid”)=”comehope” : response.cookie(“userid”).expires=”2008/12/31″

———————————————————————–
网页中调用自己的链接:
<% myself=request.servervariables(“path_info”) %>
<a href=”<% =myself %>?page=1″>第一页</a>

———————————————————————–
server对象概要
属性:
scriptimeout 服务器连续处理脚本的最长时间,默认为90秒。
方法:
creatobject 建立对象的实例
excute 调用和执行另一个asp脚本
getlasterror 建立发生错误的asp error对象
htmlencode 对html字串进行编码,可以用该方法显示html源代码
mappath 指定物理路径。因为打开文件或数据库时,asp规定必须指定文件的物理路径,该方法不支持相对目录标识符“.”和“..”。
transfer 重定向到另一个脚本,来自第一个脚本的request对象和其他对象的值都可以用于第二个脚本。
urlencode 对地址进行编码

———————————————————————–
删除记录语句 rs.delete
由于delete方法会删除当前记录,因此调用delete方法之后,当前数据记录将不存在,我们必须再调用某方法将指针从此记录移开,方可再继续其他操作。

———————————————————————–
更新数据记录:先改变字段值,然后调用update方法,如:
rs(“收盘价”)=30.5
rs(“成交量”)=3589
rs.update
如果在未调用update方法前,指针从当前记录移开,ado将自动调用update方法。
使用数组更新的方法:rs.update 字段名称数组,字段值数组。如:
fieldname=array(“收盘价”,”成交量”)
fieldvalues=array(30.5,3589)
rs.update fieldname,fieldvalues
在改变字段值之后,而未调用update方法之前,调用cancelupdate方法会取消更新的数据。

———————————————————————–
添加记录的方法有修改记录的方法很相似,不同的是在此之前先用addnew方法建立一个缓冲区,系统会将此记录自动设置为当前记录,然后象修改记录一样,修改这个新记录的内容。如:
rs.addnew
rs(“收盘价”)=30.5
rs(“成交量”)=3589
rs.update
使用数组添加记录方法:rs.addnew 字段名称数组,字段值数组。

———————————————————————–
sql select语句的多种形式
select 字段列表 from 表
select 字段名 as 别名 from 表
select 字段名运算结果 as 别名 from 表
select * from 表 order by 字段列表 [desc]
注意:order by后的字段名称不可以是别名,如下面的语句是错误的;
select 学号,语文+数学 as 总成绩 from 成绩单 order by 总成绩
select top 10 * from 成绩单
select * from 表 where 条件表达式
select * from 表 where 姓名 like 王% “%”代表0-15个字符
select * from 表 where 姓名 like 王_ “_”代表一个字符
select * from 表 where between 值1 and 值2
select * from 表 where 字段名 in(值1,值2,…)

若使用access数据库,vb函数也可以用于where条件式中,如;
select * from 成绩单 where mid(姓名,2,1)=”大”
选取姓名字段第二个字等于“大”的记录

在where表达式中使用变量;
数值变量; sql=”select * from 股票行情表 where 收盘价 >” & vv
日期时间; sql=”select * from 买卖记录 where 买卖日期=#” & vv & “#”
字符串: sql=”select * from 股票行情表 where 股票代号=” & vv & “”

———————————————————————–
若希望在重定义数组时保留数组元素的内容,需在数组名前加上preserve保留字,例如:
redim x(5)
x(0)=10:x(1)=20
redim preserve x(10)

———————————————————————–
response对象概要
属性:
buffer 是否先将数据写到缓冲区中。
contenttype 定义了要在响应主体中发送的数据类型,用户浏览器利用这一信息决定如何编译下载的http响应内容。
isclientconnected 只读属性,根据最近一次使用response.write判断用户是否依然连接在服务器上。
集合:
cookie
方法:
binarywrite 把二进制数据写到客户机上。
clear 清空buffer缓冲区。
end 结束浏览器下载。
flush 输出缓冲区数据。
redirect 重定向到另一个url上。
write 向http响应写入信息。

———————————————————————–
一般在调试程序时会在其中夹杂显示中间结果的测试语句,但这一次测试没有问题并不保证以后就没有问题,这次把测试语句去掉,下次测试时又要写回去,为了避免这种情况,可以利用缓冲区来解决,如下:
response.buffer=true
正常的程序
response.flush 输出此前程序运行的结果。
这里是测试的语句
response.clear 若要输出以上测试结果只需将此句设为注释即可。

———————————————————————–
application对象概要
集合:
contents 包含所有应用程序级作用域的变量和对象,它有两个方法,contents.remove和contents.removeall,分别删除一个和所有变量。
方法:
lock/unlock 锁定application对象。
事件:
onstart/onend 在应用程序开始和结束时被触发。

———————————————————————–
session对象的使用必须配合浏览器的cookies功能方才有效。ie4.x允许用户关闭cookies功能,而ie5以上版本不允许使用者将cookies关闭。
session对象概要
属性:
sessionid 唯一标识每一个当前用户会话的只读属性值。
集合:
contents 包含所有用户会话级作用域的变量和对象,它有两个方法,contents.remove和contents.removeall,分别删除一个和所有变量。
事件:
onstart/onend 在用户会话开始和结束时被触发。

———————————————————————–
以下程序读取recordset的所有内容。
<%
dim i,row

part i输出“表头名称”
response.write “<table border=1><tr>”
for i=0 to rs.fields.count-1
response.write “<td>” & rs(i).name & “</td>”
next
response.write “</tr>”

part ii输出数据表的“内容”
rs.movefirst 将目前的数据记录移到第一项
while not rs.eof 判断是否过了最后一项
row = “<tr>”
for i=0 to rs.fields.count-1
row = row & “<td>” & rs(i) & “</td>”
next
response.write row & “</tr>”
rs.movenext 移到下一项
wend
response.write “</table>”
%>

———————————————————————–
对于vbscript来说,最简单的输入方式是使用inputbox函数,最简单的输出方式是使用msgbox函数,但在撰写asp时,inputbox和msgbox函数都是不可用的,因为asp是在server端执行的,而用户是位于远程的机器上,server端所显示的窗口(inputbox和msgbox函数都会显示窗口)上网者是看不到的,所以在asp程序中利用inputbox和msgbox来输入输出数据是没有意义的。

不能仅凭着浏览器窗口所看到的结果来判定response.write输出的数据是什么,而必须利用“查看源文件”功能来查看到底传输给浏览器的数据是什么。

vbscript规定字符串中的双引号要用两个双引号来表示,如response.write “bc””xy”的输出结果为bc”xy。

表单中的隐藏字段<input type=hidden>最好固定地写在所有可显的<input>标记之前。

request对象支持多个集合,当使用形如request(“name”)这样的语句读取信息时,asp将按照如下次序搜索request对象的各个集合:querystring,form,cookie,clientcertificate,servervariables。

在没有数据的情况下,application对象和session对象的返回值是empty(注意,不是null),而request.cookies却是返回””(空字符串),而在vbs里,“空字符串”是不能与数值一起运算的。

 
赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 《ASP网页制作教程》笔记-ASP教程,ASP应用
分享到: 更多 (0)