这是在 20CN网络安全小组第一代论坛 的论坛 网站建设 中的主题 ASP中访问数据库的问题。


要查看这个主题,请使用这个 URL:
http://www.20cn.net/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic;f=4;t=000236

百花仙女 (编号: 1894) 发表于 :
 
作为WINDOWS的一个脚本环境,ASP在WINDOWS平台上用得很多,最近我在想学ASP,对于它对于数据库的访问我很感兴趣只是有很多不明白的地方,也许是我对数据库一无所知吧,不过我还是希望你们能给我一个答案,最明白的。
1。我们在对数据库操作时,包括查询,SQL用为SELECT语句,对于文件的操作,我们平常的程序是打开一个要操作的文件,如C语言中就是O PEN(MYFIL)等。可是在ASP中它们要不要打开一个文件或者说相等的过程。它们要不要明示文件名,如果不对文件进行操作,那么它怎么知道数据放在什么地方。
2。SQL它可以插在脚本中,我一点不明白就是。SQL是通过什么来解释这些指令的,它们是通过脚本解释器解释还是通过SQL服务器解释,那么这些插在脚本中的S QL系统是怎么样分辨的。
3。数据库可否通过ACCESS建立,在WEB中查询数据库时是否要ACCESS的支持,ASP是通过什么和数据库进行交流的,当然我有些句子也许不专业,也就这个意思吧。
4。下面就一个例子来问你们吧。<%@ LANGUAGE="VBSCRIPT" %>
<% option explicit%>
<!-- #include file="connection.asp" -->
<!-- #include file="string.asp" -->
<!-- #include file="std.asp" -->
<!-- #include file="encrypt.asp" -->

<%if request("userid")="" then %>
<html><title><%=Application("Title")%></title>
<link rel="stylesheet" type="text/css" href="main.css">
<SCRIPT LANGUAGE="JavaScript">
<!--//
function check()
{
if (document.frmaLogin.userid.value.length<1) {
alert("用户名不能为空");
document.frmaLogin.userid.focus();
}
else if (document.frmaLogin.PASSWORD.value.length<1) {
alert("用户密码不能为空");
document.frmaLogin.PASSWORD.focus();
}
else
document.frmaLogin.submit();
}

function GoGuest()
{
document.frmaLogin.userid.value="guest";
document.frmaLogin.PASSWORD.value="guest";
document.frmaLogin.submit();
}

function GoReg()
{
top.frmMain.location.href="adduser.asp"
}

//-->
</SCRIPT>

<body class=clblack>
<script language="javascript">
<%if( session("Msg")=1 ) then %>
alert("<% =session("StrMsg")%>");
<% session("StrMsg")=" "
session("msg")=0
end if %>
</script>
<FORM name=frmaLogin METHOD="POST" ACTION="login.asp">
<table border=0 color=FFFFFF align=center width=120><tr><td>
<TABLE BORDER=0 class=login align=center width=120 >
<tr>
<TD BGCOLOR="#2233FF" align=center COLSPAN=2 color=#ffffff><font color=#ffffff>登录讨论区</font></TD>
</tr>
<TR ><TD ALIGN=CENTER>
<a href="javascript:GoGuest()" class=Alogin>游客</a></TD>
<TD align=center class=login>
<a href="javascript:GoReg()" class=Alogin>注册</a>
<a href="..\index.htm" target=_top class=Alogin>返回</a>
</TD>
</tr>
<TR>
<TD ALIGN=RIGHT>居民:</TD>
<TD >
<INPUT TYPE="text" NAME="userid" value='<%=request("uid")%>' SIZE="8" MAXLENGTH="20" >
</TD>
</TR>
<TR>
<TD ALIGN=RIGHT>密码:</TD>
<TD >
<INPUT TYPE="password" NAME="PASSWORD" SIZE="8" MAXLENGTH="20">
</TD>
<TR align=center>
<TD COLSPAN=2 ALIGN=CENTER>
<INPUT TYPE=BUTTON VALUE='进 入' onClick="check()" class=login>
<br>
</TD>
</TABLE>
</td></tr></table>
</FORM>
<SCRIPT LANGUAGE="JavaScript">
<!--//
document.frmaLogin.userid.focus();
//-->
</SCRIPT>

</BODY>
</HTML>

<% else
dim StrSQL,rsUserInfo,StrMsg,blOK,strUserid,strPassword
set rsUserInfo=Server.CreateObject("ADODB.RECORDSET")

strUserid=request("userid")
strPassword=request("password")
strSQL="select * from UserInfo where userid='"+strUserid+"'"
rsUserInfo.Open strSQL,myconn
blOK=false
if not rsUserInfo.BOF and not rsUserInfo.EOF then
if (rsUserInfo("password"))=mistake((strPassword)) then
blOK=true
strPassword="****"
else
strMsg="密码错误,请重新输入!"
end if
dim rsSysLogin
set rsSysLogin=Server.CreateObject("ADODB.RECORDSET")
strSQL="insert into syslogin(userid,password,ip,logindate,loginOK) values('"
strSQL=strSQL+strUserid+"','"+strPassword+"','"+Request.ServerVariables("REMOTE_ADDR")+"',"
strSQL=strSQL+"now(),"+CSTR(blOK)+")"
rsSysLogin.Open StrSQL,myconn
else
StrMsg="用户名错误,请重新输入!"
end if
if not blOk then
session("strMsg")=strMsg
session("msg")=1
response.redirect "login.asp?uid="+strUserid
else
session("userid")=rsUserInfo("userid")
session("nickname")=rsUserInfo("nickname")
initLogin
session("email")=rsUserInfo("email")
session("uid")=rsUserInfo("id")
session("sign")=rsUserInfo("sign")&" "

dim LastLogin,iLogin
LastLogin=rsUserInfo("LastLogin")
iLogin=rsUserInfo("iLogin")
rsUserInfo.close
strSQL="update UserInfo set ilogin=ilogin+1, iPerience=iPerience+1,LastLogin=now() where userid='"+session("userid")+"'"
rsUserInfo.Open strSQL,myconn
session("msg")=1
strMsg="亲爱的"+session("userid")+":\n\n"
strMsg=strMsg+"这是你第"+cstr(iLogin+1)+"次光临寒舍\n"
strMsg=strMsg+"上次光临时间:"+FormatDateTime(LastLogin,1)
session("strMsg")=strMsg
response.redirect "FullScreen.htm"
end if
myconn.close
end if
%>
<% set rsUserInfo=nothing
set myconn=nothing
%>
这是一个BBS的LOGIN源码,可是我看不出它是什么意思。
当然这个过程是一个验证用户名和密码的代码,可是我看不它对那个数据库文件进行了操作。看不出它是从那个文件中读出用户名和密码的,就算是从表中读出,那么这个表放在那个文件中,数据库的文件名是什么?那么这些数据文件是什么文件名,放在什么地方致少有一个知道的方法,我是这么想的。
set rsSysLogin=Server.CreateObject("ADODB.RECORDSET")
strSQL="insert into syslogin(userid,password,ip,logindate,loginOK) values('"
上个语句中的。("ADODB.RECORDSET") 中的RECORDSET是一个对象,可是在教程中。是用Connection这有关系,这Connection代表什么,顺便问一下这个SET是什么意思,不记得了。
 


leaflet (编号: 2423) 发表于 :
 
你一下子问了那么多问题,让我先给你说哪个好呢?
算了,你还是先找本书看看吧!
:)
 
leaflet (编号: 2423) 发表于 :
 
你一下子问了那么多问题,让我先给你说哪个好呢?
算了,你还是先找本书看看吧!
:)
 
百花仙女 (编号: 1894) 发表于 :
 
你想回答几个就几个,只要不不回答就是了。
当然最好全部回答。
 
VeryCo (编号: 2986) 发表于 :
 
quote:
发贴人: 百花仙女:
你想回答几个就几个,只要不不回答就是了。
当然最好全部回答。


你写的这篇文章我好象见过多次了~~~呵呵~~想看关于这方面是文章请到http://www.aspc n.com/show.asp?id=344或者中华asp首页
http://www.aspcn.com/
 


deepfeng (编号: 3734) 发表于 :
 
<!-- #include file="connection.asp" -->
<!-- #include file="string.asp" -->
<!-- #include file="std.asp" -->
<!-- #include file="encrypt.asp" -->

中的4个ASP文件你可以再看看啊。
 


小强 (编号: 858) 发表于 :
 
我可以肯定的告诉你是
<!-- #include file="connection.asp" -->
这个文件。
 
19741554 (编号: 1158) 发表于 :
 
你在<!-- #include file="connection.asp" -->这个文件里找,就可以找到数据库文件放在哪里了,一般数据库的扩展名是。ASP或。MDB,如果是。ASP的,你把扩展名改成。MDB 就可以看到了
 




Powered by Infopop Corporation
UBB.classic™ 6.5.0
NetDemon修改版 1.5.0, 20CN网络安全小组 版权所有。