【题外话:最近做Internet作业,在这写一个适合初学入门的ASP连接ACCESS数据库做登陆界面的简单的例子,以慰藉我一口气把以前做过的系统中的PHP代码全改成ASP代码来临时应付作业的心情......然后,这个小例子很简单的。】
【前提条件:你已经在Windows下配置搭建了IIS服务器】
该例实现的功能为:
连接Access数据库;
登陆页面选择管理员或账户登陆;
用户界面显示当前用户信息;
管理员界面显示数据库中所有用户资料信息 并 实现分页功能(每页最多五行);
实现注销功能。
【注:本例并没有做页面设计,可以自己加一些CSS、js之类的进行美化】
首先,创建Access数据库:(注意这里选择2002-2003版本的)
然后,创建表,添加字段:我这里简单举例,管理员表和用户表一样,你可以添加其他字段做的更丰富。
然后编写以下代码即可:
conn.asp(连接数据库)
<%
Session.CodePage=65001
Response.Charset="UTF-8"
'连接数据库开始
dim conn,rs,sql
'on error resume next
'dbpath为你自己设置的数据库路径
dbpath="D:/AccessDB/test.mdb"
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; data source="&dbpath
'创建记录对象
set rs=server.createobject("adodb.recordset")
%>
conn.asp
【注:dbpath="D:/AccessDB/test.mdb" 我是将数据库放在了D盘的AccessDB目录下,路径请根据你自己的情况来设置】
index.asp(登陆主页面)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>登陆界面</title>
</head>
<form id="loginForm" action="login.asp" method="post">
<ul style="border:1px solid #CCC;">
<label>权 限:</label>
<select id="sel_type" name="sel_type">
<option value="1">账户</option>
<option value="2">管理员</option>
</select>
<label class="p2">账 号:</label>
<input type="text" id="userName" name="userName" /> <label class="p2">密 码:</label>
<input type="password" id="userPwd" name="userPwd"/> <input type="submit" name="submit" value="登录"/>
<input type="reset" value="重置">
</ul>
</form>
</html>
index.asp
login.asp(登陆检测)
<%@Language="vbscript" Codepage="65001"%>
<!-- #include file="conn.asp" -->
<%
Session.CodePage=65001
Response.Charset="UTF-8"
username = Request.Form("userName")
password = Request.Form("userPwd")
flag = Request.Form("sel_type") if username = "" or password = "" then
response.Write("用户名或密码不能为空!")
Response.Write("返回<a href='index.asp'>登录主页</a><br />")
response.End()
end if if flag = "1" then
'账户
'打开数据库判断用户是否存在,user为表名,namee为字段名
set rsc=server.createobject("adodb.recordset")
sqlc="select * from [user] where username='"&request.Form("userName")&"' and password='"&request.Form("userPwd")&"'"
rsc.open sqlc,conn,1,1 if rsc.eof then
Response.Write("用户名或密码错误!")
Response.Write("返回<a href='index.asp'>登录主页</a><br />")
Response.End() else
session("username")=rsc("username")
session("password")=rsc("password") end if
rsc.close
set rsc=nothing
'登陆成功跳转到用户界面
response.Redirect("user.asp")
else
'管理员
set rsc=server.createobject("adodb.recordset")
sqlc="select * from administrator where username='"&request.Form("userName")&"' and password='"&request.Form("userPwd")&"'"
rsc.open sqlc,conn,1,1 if rsc.eof then
Response.Write("用户名或密码错误!")
Response.Write("返回<a href='index.asp'>登录主页</a><br />")
Response.End() else
session("username")=rsc("username")
session("password")=rsc("password") end if
rsc.close
set rsc=nothing
'登陆成功跳转到管理员界面
response.Redirect("admi.asp")
end if
%>
login.asp
user.asp(用户界面)
<%@Language="vbscript" Codepage="65001"%>
<!-- #include file="conn.asp" -->
<%
if session("username")="" then
response.Redirect("index.asp")
else
username = session("username")
password = session("password")
end if
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户界面</title>
</head>
<%
Response.Charset="UTF-8"
Response.Write("</br>")
Response.Write("账 号:" & username & "</br>")
Response.Write("密 码:" & password & "</br>")
%>
<a href="logout.asp">注销</a>
</html>
user.asp
admi.asp(管理员界面)
<%@Language="vbscript" Codepage="65001"%>
<!-- #include file="conn.asp" -->
<%
if session("username")="" then
response.Redirect("index.asp")
else
username = session("username")
password = session("password")
end if
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>管理员界面</title>
</head>
用户资料表:
<font style="font:bold 18px KaiTi;">
<%
set rs=server.createobject("adodb.recordset")
sql="select * from [user]"
rs.open sql,conn,1,1 rs.pagesize = 5
curpage = 1
if Request.QueryString("curpage") <>"" then
curpage = Request.QueryString("curpage")
end if
rs.absolutepage = curpage response.write("<table border='#CCF solid 1px'>")
response.write("<tr><th>用户名</th><th>密码</th></tr>")
for i = 1 to rs.pagesize
if rs.eof then
exit for
end if
response.write("<tr>")
response.write("<td>"&rs("username")&"</td>")
response.write("<td>"&rs("password")&"</td>")
response.write("</tr>")
rs.movenext
next
response.write("</table>") for i = 1 to rs.pagecount
%>
<a href ='./admi.asp?curpage=<%=i%>'>第<%=i%>页</a>
<%
next
if curpage=1 then
response.write("首页 ")
else
response.write("<a href ='admi.asp?curpage=1'>首页</a> ")
end if if curpage>1 then
%>
<a href ="admi_userInfo.asp?curpage=<%=curpage-1%>">上一页</a>
<%
end if if rs.pagecount>=curpage+1 then
%>
<a href ="admi_userInfo.asp?curpage=<%=curpage+1%>">下一页</a>
<%
end if if rs.pagecount < curpage+1 then
response.write("尾页")
else
%>
<a href ="admi_userInfo.asp?curpage=<%=rs.pagecount%>">尾页</a>
<%end if%>
</font> <a href="logout.asp">注销</a>
</html>
admi.asp
logout.asp(注销界面)
<%@Language="vbscript" Codepage="65001"%>
<!-- #include file="conn.asp" -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>注销界面</title>
</head>
</html>
<%
session("username")=""
session("password")=""
Response.Write(" 谢谢您的使用!返回 <a href='index.asp'>登录主页</a><br />")
%>
logout.asp
效果如下:(我是将以上代码文件都放在了C:\inetpub\wwwroot\test目录下,这里我设置的默认目录就是wwwroot)
(页面不美观、不要在意、自己设计哇......)