2011-03-02 76 views
0

在下面的asp页面中,我试图从结果集的第一行获取fullName属性。 (应该只有一行)什么是正确的方法来做到这一点?从asp结果集中获取值

<% 
set Y = server.CreateObject("ADODB.Connection") 
X = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= " & Server.MapPath(".\account.mdb") 
Y.open X 

user=request.Form("username") 
passwd=request.Form("pwd") 
set userexsist=Y.Execute("select * from logintable where username='" & user & "'") 
set useraccount=Y.Execute("select * from logintable where username='"& user & "' and passwd='" & passwd & "'") 

if userexsist.eof then 
    Response.Redirect("41697hw1noaccount.htm") 
else 
if useraccount.eof then 
    Response.Redirect("41697hw1wrongpasswd.htm") 
else 
    Response.Write("<h1>Welcome, " & useraccount[0].fullName & "</h1>") 
End if 
end if 


%> 

错误在'useraccount [0] .fullName。

获取此信息的正确方法是什么?

感谢您的帮助!

回答

2

这里有尽可能多的错误的东西,你的代码,因为我可以当场定:

我做了测试,但不能与Access数据库。

它应该工作,但我只有经典ASP的工作知识。

<% 

Set Conn = Server.CreateObject("ADODB.Connection") 
Set RS = Server.CreateObject("ADODB.Recordset") 
Set RS2 = Server.CreateObject("ADODB.Recordset") 

Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= " & Server.MapPath(".\account.mdb") 

user = Request.Form("username") 
passwd = Request.Form("pwd") 

RS.Open "select * from logintable where username='" & user & "'", Conn 

if RS.eof then 
    Response.Redirect("41697hw1noaccount.htm") 
else 
    RS2.Open "select * from logintable where username='" & user & "' and passwd='" & passwd & "'", Conn 
    if RS2.eof then 
     Response.Redirect("41697hw1wrongpasswd.htm") 
    else 
     Response.Write("<h1>Welcome, " & RS2("fullName") & "</h1>") 
    end if 
end if 

%> 
+1

我应该指出你在这里很容易受到SQL注入的影响,但后来我看了你以前的问题并看到''我有一个为学校做的项目'' - 所以没问题。 – thirtydot 2011-03-02 01:18:49

+1

这是我需要的答案:'RS2(“fullName”)'谢谢! – kralco626 2011-03-02 01:38:06