查看完整版本: 程序出错了,大家帮忙看看!!先谢了

geniusjoy 2007-12-6 17:10

程序出错了,大家帮忙看看!!先谢了

<%
Set Conn=Server.CreateObject("Adodb.Connection")
C&Server.MapPath("database.mdb")
Conn.Open ConnStr
%>
<!--#include file=conn.asp-->
<%
dim loginname
loginname=trim(request.Form("txtusername"))
set rs=server.CreateObject("adodb.recordset")
sql="select loginuser,userpassword from account where loginuser='"& loginname &"'"
   if rs.state=1 then rs.close
   else
   rs.open sql,conn,1,1
   end if
if rs.eof and rs.bof then
   response.Write "没有用户名".<a href=index.asp>返回</a>
   response.End()
end if
if request.Form("txtpwd")<>rs.fields("userpassword")
   response.Write"密码错误!"<a href=index.asp>返回</a>
end if
   session("loginuser")=rs.fields("loginname")
   response.Redirect("login.asp")
rs.close
conn.close
set rs=nothing
set conn=nothing
%>
这ASP出现了HTTP500的错误,不知道还有那里错了,请大家帮帮忙,看一下,万分感谢.

Nothing 2007-12-6 19:28

C&Server.MapPath("database.mdb")

这句肯定不对吧

geniusjoy 2007-12-7 08:12

<%
dim connstr
connstr="provider=microsoft.jet.oledb.4.0;data source="& server.MapPath("datebase.mdb")
set conn=server.CreateObject("adodb.connection")
conn.open connstr
%>
这样写也出现HTTP500错误啊?
请问是什么原因啊 ?

Nothing 2007-12-7 09:15

使用这个工具,能看到报什么错
这个工具是我以前为了调试ASP程序写的

[url=http://www.lihuasoft.net/download/show.php?id=32]http://www.lihuasoft.net/download/show.php?id=32[/url]

geniusjoy 2007-12-7 11:20

谢谢你~~!我现在试一下

geniusjoy 2007-12-7 11:23

出现:“component 'richtx32.ocx' or one of its dependencies not correctly registerde:a file is missing or invalid”

Nothing 2007-12-7 20:02

那个程序是VB写的,要用到richtextbox控件,你到网上下载一个。

Nothing 2007-12-7 20:04

你的代码写的够烂的,你看看下面的if语句,有这样写的吗????
[color=Red]  if rs.state=1 then rs.close[/color]
   else
   rs.open sql,conn,1,1
   end if
[color=Red]if rs.eof and rs.bof then[/color]
  [color=Red] response.Write "没有用户名".<a href=index.asp>返回</a>[/color]
   response.End()
end if
[color=Red]if request.Form("txtpwd")<>rs.fields("userpassword")[/color]
   [color=Red]response.Write"密码错误!"<a href=index.asp>返回</a>[/color]
end if

geniusjoy 2007-12-7 23:21

请问应该怎么写才对呢?

geniusjoy 2007-12-7 23:24

大部分是我写的,一些是代码不行,发到QQ群哪里人家叫我改的.:L

geniusjoy 2007-12-7 23:26

管理员能说些例子教教我吗?
我学了不久,很多东西都不会哦
:(

Nothing 2007-12-8 01:28

主要是语法错误,你有些地方都没有引号,还有if then这样基本的语句都不行,建议你找本基础的书,把语法看一遍再说吧,这个别人没办法教你。

geniusjoy 2007-12-8 22:29

不会吧.IF和then怎么错了?:L 能否解释一下吗?

Nothing 2007-12-8 22:57

语法:
if .... then ....
这是一种写法,不支持else等
if .... then
....
end if
这种在then后面不能有东西。

if .... then
...
else
...
end if
这也是一种结构。

geniusjoy 2007-12-9 00:47

谢谢管理员来帮忙,有不懂的我再来问哦..
万分感谢:loveliness:

geniusjoy 2007-12-9 00:54

<%
Set Conn=Server.CreateObject("Adodb.Connection")
C& Server.MapPath("database.mdb")
Conn.Open ConnStr
%>
<%
set rs=server.CreateObject("adodb.recordset")
sql="select loginuser,userpassword from account where loginuser='"&trim(request("txtusername"))&"'"
   if rs.state=1 then rs.close
rs.open sql,conn,1,1
if rs.eof=true then
   response.Write "没有用户名".<a href=index.asp>返回</a>
   response.End()
end if
if request.Form("txtpwd")<>rs.fields("userpassword") then
   response.Write"密码错误!"<a href=index.asp>返回</a>
end if
   session("loginuser")=rs.fields("loginname")
   response.Redirect("login.asp")
rs.close
conn.close
set rs=nothing
set conn=nothing
%>
这样写我是HTTP500出错阿:'( .还有那里错呢?

Nothing 2007-12-9 16:38

response.Write "没有用户名".<a href=index.asp>返回</a>

response.Write"密码错误!"<a href=index.asp>返回</a>
注意引号

response.Write "没有用户名.<a href=index.asp>返回</a>"

response.Write"密码错误!<a href=index.asp>返回</a>"

geniusjoy 2007-12-10 07:59

<%
Set Conn=Server.CreateObject("Adodb.Connection")
ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("upload.mdb")
Conn.Open ConnStr
%>

<%
sql="select loginuser,userpassword from user where loginuser='"& trim(request("txtusername"))&"'"
set rs=server.CreateObject("adodb.recordset")
if rs.state=1 then rs.close
rs.open sql,conn,1,1
   if rs.eof and rs.bof then
             response.Write "用户不存在,<a href=index.asp>返回</a>"
                         response.End
        end if   
        if rs.fields("userpassword")<>request("txtpassword") then
                    response.Write "用户密码错误,<a href=index.asp>返回</a>"
                                response.End
        end if
        session("loginuser")=rs.fields("loginuser")
    response.Redirect("login.asp")
rs.close
conn.close
set rs=nothing
set conn=nothing
%>
11行出现了Microsoft JET Database Engine 错误 '80040e14'

FROM 子句语法错误。
请问这里怎解决呢?

Nothing 2007-12-11 00:11

你先把access中的表名改一下,不要叫user,这个可能和系统冲突,然后再改SQL语名,原来不是表名叫account吗?user是系统的一个变量,不能乱叫

或是
sql="select loginuser,userpassword from user where loginuser='"& loginname &"'"
改成
sql="select loginuser,userpassword from [user]where loginuser='"& loginname &"'"

如果还不行,可以修改成以下的:

第11行改成
rs.Open sql, conn, 1, 3, adCmdText

还有一种更简便的写法

set rs=server.CreateObject("adodb.recordset")
if rs.state=1 then rs.close
rs.open sql,conn,1,1
改成
set rs=conn.execute(sql)

geniusjoy 2007-12-11 09:39

明白了。我试一下。谢谢管理员
页: [1] 2
查看完整版本: 程序出错了,大家帮忙看看!!先谢了