ASP程序设计总结

原创 2007年10月03日 23:04:00

由于过两天就要做密码学方面的东西了,所以就简单地就近段时间所做的ASP程序(VB)做一下总结。我没有打算要在这方面成为expert,所以也没有做出什么像样的东西,几个工程都是半途而废,不过近一个月来的工作,我还是有些收获的。马马虎虎写了BBS、网上聊天、日历、留言本、网上考试、网上书店,这些程序都没有完完整整地写完过,很多都不规范,所以只能将一些有用的程序模块拿出来,希望对将来有借鉴意义。

模块一:数据库连接

1、对关系数据库SQLSERVER的连接:

 

Set conn=server.CreateObject("adodb.connection")

conn.Open "Provider=SQLOLEDB.1;Password=708;Persist Security Info=False;User ID=wang;Initial Catalog=bbs;Data Source='127.0.0.1'"

sql="select * from user_all"

set rs=server.CreateObject("adodb.recordset")

rs.Open sql,conn

 

2、对非关系数据库如ACSESS的连接:

 

set conn=server.CreateObject("adodb.connection")

conn.Open "dsn=pubs"

sql="select * from authors"

set rs=conn.execute(sql)

或者下面:

set conn=server.createobject("adodb.connection")

conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/guestbook.mdb")

exec="select * from guest"

set rs=server.createobject("adodb.recordset")

rs.open exec,conn,1,1

 

模块二:数据库文件内容的分页显示

 

mypage=request.QueryString("whichpage")

if mypage="" then

mypage=1

end if

if mypagesize="" then

mypagesize = 4

end if

set rs=server.CreateObject("adodb.recordset")

conn = "dsn=pubs"

sql="select * from authors"
rs.CursorLocation = 3
rs.Open sql,conn,3,3

rs.MoveFirst

rs.PageSize = mypagesize

maxcount=cint(rs.PageCount)

rs.AbsolutePage = mypage

howmanyfields=rs.fields.count-1

howmanyres=0

response.Write "Page "&mypage&" of "&maxcount&"

........下面用循环显示rs.fields集合中的元素

 

模块三:框架文件的自适应调整

 

iframe name="win" frmeboder=1 scrolling=no height="100%" width="100%" marginheight=0 onload="document.getElementById('win').style.height=win.document.body.scrollHeight+'px'"

 

模块四:登录验证

 

user=request.Form("user")

psd=request.Form("psd")

isuser=false

rs.MoveFirst

do while not rs.EOF and isuser=false

if strcomp(cstr(rs.Fields("user_id")),user,1)=0 and strcomp(rs.Fields("user_psd"),psd,1)=0 then

isuser=true

session("user_id")=user

exit do

end if

rs.MoveNext

loop

 

SQL数据类型繁杂,这里做一下总结:

UNICODE字符串:

Varchar 可变char 固定,而text是很长的可变字符串

UNICODE字符串,只是关键字前加N,最大长度/2

数字型:

Int 对应C语言中的LONGsmallint对应SHORTtinyint对应unsigned char

DECIMALDECIMAL-10^38+110^381固定精度和小数位的数字数据

货币:

Money 对应C语言的double(8字节)smallmoney对应float(4字节)

日期:

Datetime 17531.1999912. 31的日期和时间数据,精确到百分之三秒。

Smalldatetime 19001.120796. 6的日期和时间数据,精确到分钟。

下面摘录一些ASP代码编写的注意点:

1、使用VBSCRIPT时,最好要申明Option Explicit,且把它放在代码前面

2、当需要传递参数或将数据保存为字符串时,最好能够使用Server.URLEncode

3、当创建并使用完一个对象后,最好能彻底释放其所占的资源,如set rs=nothing

4、当涉及到服务器文件路径时,最好使用server.mappath()方法

5、不要使用session()application()变量来存放一个数据库对象,这样会消耗许多资源。

6、不要通过ASP/COM来获取同一个数据多次,而应该第一次就将数据放入一个变量,然后使用变量的值。

《ASP.NET.4高级程序设计》学习笔记2

1.web服务控件 list类型的控件例如droplist,响应多选事件,需要遍历Items集合。 2.数据验证控件   1)RequiredFieldValidator控件,常用于判断一文本框输...

21天学通asp.net程序设计

第一章:搭建asp.net开发环境 asp.net是统一的web应用程序平台 asp:由于asp是结合html页面源代码一起编译,所以运行缓慢、代码冗余、调试困难 asp.net:功能强大、安全...

WEB程序设计之web服务器与Asp

Web服务器(IIS) IIS的安装: 安装方法见如下链接:IIS安装 IIS的测试: (1)IIS安装好后,在C:盘将增加一个文件夹C:\Inetpub\wwwroot\,这个目录...

《ASP.NET AJAX程序设计 第I卷》的心路历程

====================================================== 注:本文源代码点此下载 =============================...

网络程序设计-ASP

  • 2017年12月02日 20:42
  • 3.26MB
  • 下载

参加浙江中医药大学第十一届程序设计竞赛(ACM赛制)的总结

前言2017.12.10,浙江中医药大学主办了一场acm赛制的比赛(浙江中医药大学第十一届程序设计竞赛),而我和我们学校(杭州二中白马湖学校)的另外两名同学组成一队也去参加了,这是我打的第一场acm比...

asp 网页程序设计

  • 2012年09月25日 12:25
  • 471KB
  • 下载

javascript高级程序设计总结之四

prototype原型的总结: PrototypeDemo Pr
  • lonpo
  • lonpo
  • 2011年12月07日 21:37
  • 453
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP程序设计总结
举报原因:
原因补充:

(最多只允许输入30个字)