呵呵,看到网上有人写了10天学会asp,偶也想写一个,他既然叫10天,那我就5天吧,呵呵,新手多看看,高手指出错误,不要笑话偶啊!知
识只有共享才能发展,不要吝啬你的知识!!!!
好了我们闲话少说现在就开始吧!
首先,我先把ASP说一下,asp就是 Active Server Pages的简写,
我们为了方便理解那,就把asp想成是 插入到HTml中的一种脚本语言吧,这样理解起来方便。
书上都是以hello world的代码开始的,我们也这样开始吧!
这里我们就开始以示例讲解了:
〈html〉
保存成test.asp,调试一下 就能看到hello world 了。
这里先让大家看看他是怎么样插入到HTML中的(asp程序是放在””中间的)
当然我们也可以在response.write中输出HTML标记,比如 :
就能看到一个红色的20号的”你好”
接下来我们就说
asp中有六大内置对象,分别是:
Request: 负责从用户端接受信息
Response:传递信息给用户
Server: 控制asp运行环境
session: 负责存储个别用户信息
Application:负责存储数据以提供多个用户的使用
objectcontext:可提供asp程序直接配合MTS进行分散事物处理
这其中我们就常用的就是:Request,Response,Server,session,Application
在本文中会逐一讲到,
刚才我们用了六大内置对象中的Response的write方法输出了hello world
下面我们就用一个例子来讲解request和response的用法:
首先,我们要用到html的form标签来传递值:
一,我们先做个表单页面,用来输入数据,这个页面就叫login.asp
用户登录入口 | |
用户名: | |
密码: | |
|
二,我们在做一个页面来接受这些数据,这个页面就叫checklogin.asp
<%
‘——————-为防止出错我们定义username和password—————-
dim username
dim password
‘——–用request的form方法来接受login.asp页面传来的值,并付值给我们定义的username和password
username=request.form(“username”)
password=request.form(“password”)
‘———判断传来的值是不是空值
if username=”” then
‘用response的write的方法输出一个脚本
response.write”alert(‘用户名不能为空’)”
response.end
end if
if password=”” then
response.write”alert(‘密码不能为空’)”
response.end
end if
‘———-判断用户名和密码是不是一样的,如果一样的输出”登陆成功”并把session的标志给这个用户,否则就输出”登陆失败”
if username=”admin” and password=”admin” then
response.write”登陆成功”
session(“loginok”)=username
else
response.write”登陆失败”
‘重定向到login.asp
response.redirect”login.asp”
end if
%>
这里我们用到了request.form的方法(接受数据)
response的write(输出数据)和redirect(重定向)
session的会话,这里我先简单的说说session的作用吧,
就拿我的同学录来说吧!这里会判断用户的级别和权限(如:没有审核同学,通过审核的同学,班级管理员)如果用户登陆成功了,
session就和server产生了会话,没有审核同学就付值为session(userlevel)=1,通过审核的同学就付值为session(userlevel)=2
班级管理员就付值为session(userlevel)=3,这样就有效的区别的用户的权限和级别。
类似的做用的还有cookies,它也有这样的作用,不同的是cookise是产生到客户端的。。。。
我在这个例子里主要讲解了request和response的用法,其实他们还有一些属性和方法,
这里我只是讲解了常用的,希望大家有空看看这里我没有提到的属性方法
这个例子我没有把用户和密码放到数据库中是为了方便大家的理解,
下一节我们将讲解怎么样连接数据库和实现操作数据库的。。。。
———————————————————————————————————————–
5天搞定asp
第二天
今天我们主要讲解ASP中常用的SQL语句,和怎样在页面中执行SQl 语句。。。
其实常用的语句无外乎数据的“增,删,改”好象所有的数据处理程序中都有这几种操作,下面我们先写sql语句,<如果您需要了解更多的请
看我的Blog.91time.com中的SQl语句经典或看看SQL的书籍>
—–(一)–查询———
1,首先我们要做第一个,这是SQl中最基本的语句了,
select * from [表名] where [条件] order by [条件] desc
其中,desc降序,默认是asc升序,
例子:select * from news where news_id='”&news_id&”‘ order by news_id desc
意思就是查询news表中的”*”代表所有数据,条件是news_id等于 news_id然后按照news_id 的降序排列
在查询里还能用到group by分组排序等等,这里就不系说了。
2,count()函数用来计算记录的行数。
例:select count(*) from news
计算数据库中有多少行
3,sum()函数用来计算表达试中的项目和。
例:select age,sum(number) from person where age>20 group by age
6,top关键字,限制返回记录的行数
—–(二)–插入———
insert 语句
格式如下:
insert into [,……] values[常量1,…………]
例:insert into news(id,news) values(1,’新闻’)
—(三)–更新——-
update语句
格式:
update set =,=……
where
例:update news set content=最新消息 where news_id='”&news_id&”‘
—–(四)—删除———-
delete语句
格式:delete from where 条件
例:delete from news where news_id>20
好了sql语句我们就说这么多吧,下面我们开始创建个数据库,这里我们就用SQL数据库吧
打开” 查询分析器”
‘创建个数据库叫news
create database news
use news
create table admin
(
id int primany key,
admin_name varchar(20) not null,
admin_pwd varchar(20) not null,
)
‘然后我们插入一条数据
insert into admin values(1,’admin’,’admin’)
‘然后我们用select * from 查询一下
select * from admin
就会看到我们的数据了
好了,我们打开昨天做的登陆严整的代码,这里我们回顾一下吧,做天我们用了两个页来实现的会员登陆的验证,
这两个页分别是(登陆页login.asp)和(验证页checklogin.asp),
现在我们没有做数据库验证,
(登陆页login.asp)页我们不用改动,
下面我们只需改动(验证页checklogin.asp),就行了,
这里我们要做个连接数据库的页面文件,名字就叫conn.asp吧
代码如下
<%
dim conn,dbuid,dbpwd,dBName,dbip
dbuid=”sa” ‘数据库登陆名
dbpwd=”123456″ ‘数据库密码
dBName=”news” ‘数据库名称
dbip=”(local)” ‘可为IP ‘数据库所在地址,如果是本地数据库则为:(local)
‘—————————————————————————
set conn=Server.CreateObject(“adodb.Connection”)
Conn.Open “PROVIDER=SQLOLEDB.1;Data Source=”&dbip&”;Initial Catalog=”&dBName&”;Persist Security Info=True;User
ID=”&dbuid&”;Password=”&dbpwd&”;Connect Timeout=30″
If Err Then
err.Clear
set conn=nothing
Response.Write “无法连接MSSQL”
Response.End
End If
%>
打开checklogin.asp代码,
首先在页面上我们要引用数据库连接文件
<%
‘——————-为防止出错我们定义username和password—————-
dim username
dim password
‘——–用request的form方法来接受login.asp页面传来的值,并付值给我们定义的username和password
username=request.form(“username”)
password=request.form(“password”)
‘———判断传来的值是不是空值
if username=”” then
‘用response的write的方法输出一个脚本
response.write”alert(‘用户名不能为空’)”
response.end
end if
if password=”” then
response.write”alert(‘密码不能为空’)”
response.end
end if
‘———-判断用户名和密码是不是一样的,如果一样的输出”登陆成功”并把session的标志给这个用户,否则就输出”登陆失败”
‘————这里我们就要在数据库里面比较两个值了
set rs=server.cerateobject(“adodb.recordset”)
sql=”select * from admin where admin_name='”&username&”‘ and admin_pwd='”&password&”‘ ”
rs.open sql,conn,1,1
‘如果用户不存在
if rs.eof and rs.bof then
response.write”alert(‘用户名或密码不正确!’);”
response.write”javascript:history.go(-1)”
response.end
‘负责将用session 产生会话
else
session(“admin”)=rs(“admin_name”)
session(“password”)=rs(“admin_pwd”)
session(“aleave”)=rs(“aleave”)
response.redirect “admin.asp”
end if
‘———最后不要忘记关闭数据连接,释放资源
rs.close
set rs=nothing
%>
这里我们做好了一个简单的登陆严整,比如我们还可以用session来限制登陆的次数,或者登陆人的权限等等,
如有需要来blog看看哦,都有相应的文章.http://blog.91time.com
接下来我们做添加把,哈哈哈 ,这个和上面的例子一样的简单
为了便于理解我都做成了两个页面,在本节的最后,我会用”隐藏域的方法做个(增,删,改)在一个页的例子”
我们继续吧
和上一个例子一样,这个页面还是用来输入值的,叫add.asp
添加 | |
用户名: | |
密码: | |
|
下面我们做adduser.asp,这个页面就是向数据库中添加值了
‘这里我们添加一个判断,用来判断是不是管理员,只有管理员才有权添加用户
<%
if isempty(session(“admin”)) or session(“admin”)=”” then
response.redirect”login.asp”
end if
%>
<%
‘——————-为防止出错我们定义username和password—————-
dim username
dim password
‘——–用request的form方法来接受add.asp页面传来的值,并付值给我们定义的username和password
username=request.form(“username”)
password=request.form(“password”)
‘———判断传来的值是不是空值
if username=”” then
‘用response的write的方法输出一个脚本
response.write”alert(‘用户名不能为空’)”
response.end
end if
if password=”” then
response.write”alert(‘密码不能为空’)”
response.end
end if
‘———-判断用户是不是已经存在了,如存在就提示,并返回。
set rs=server.cerateobject(“adodb.recordset”)
sql=”select * from admin where admin_name='”&username&”‘”
rs.open sql,conn,3,3
‘如果用户存在
if not(rs.eof and rs.bof) then
response.write”alert(‘用户以存在,请重新选择!’);”
response.write”javascript:history.go(-1)”
response.redirect”add.asp”
‘添加用户
else
rs.addnews
rs(“admin_name”)=username
rs(“admin_pwd”)=password
rs.update
response.write”alert(‘添加成功,请返回’);”
response.write”javascript:history.go(-1)”
response.redirect”add.asp”
end if
‘———最后不要忘记关闭数据连接,释放资源
rs.close
set rs=nothing
%>
———————————————————————————————————————-
5天搞定asp第二天[续]
哈哈 第二天的那页放不下了就分开了
不要意思了
好了,现在我来做“更新”“删除”
这里的重点是要取的要删除的数据的编号,数据编号是唯一的不可重复的
首先我们把所有的用户有取出来 ,并放在一个页面上
先写的是更新哦
呵呵
删除和这个基本一样就是SQL的语句不同,要注意的是新闻的id是怎么样取得的!!!!
这才是本文的重点!!!!!!!!!
—注意数据库中没有权限的字段,自己添上就行了———-呵呵——–
————————————————admin_admin.asp显示页———————————
<%
——————————-一个页面的增,删,改————————————
——————————————————————————————————————-
1 then%><a Href="test.asp?Page=”>首页 <a Href="test.asp?Page=”>上一 For i = 1 to rs.PageSize —————————————————————————————————————- 今天我们来说说ASP组件, |