ASP问题,代码估计有点问题,高手帮看一下 100分

来源:百度知道 编辑:UC知道 时间:2024/07/15 23:04:21
conn.asp

<%
dim conn
dim dbpath
Set conn = Server.CreateObject("ADODB.Connection")
dbpath="dbq="+server.mappath("data\jgcomic.mdb")+";defaultdir=;driver={microsoft access driver (*.mdb)};"
conn.open dbpath
%>

index.asp

<%
dim tdate
tdate=year(now())&"-"&month(now())&"-"&day(now())
sql="select top 6 id,cname,dayhits from download where"
sql=sql&" lasthits="&tdate&" and dayhits>0"
sql=sql&" order by dayhits desc "
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.Write("本日没有下载")
do while not rs.eof
response.Write("<a href=comic.asp?id="&rs("id")&" title=今日下载:"&rs("dayhits")&"次>"&rs("cname")&"</a><br>")
i=i+1
if i>=7 then exit do
rs.movenext

第一 conn.asp文件是否被index.asp页面影射进来
用response.write conn 查看conn是否有值
第二 sql参数重定义
用response.write sql 查看sql输出的值是否正确
第三 建议换一种数据库打开方式
本人以前用Access 用的那种方式现在不太记得了
呵呵 好象是这样的
<%
dim conn,db
db="/data/jgcomic.mdb"
set conn=server.CreateObject ("ADODB.Connection")
ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(db)
conn.open ConnStr
%>

sql=sql&" lasthits="&tdate&" and dayhits>0 order by dayhits desc "
试下

sql="select top 6 id,cname,dayhits from download where"
应该写成
sql="select top 6 id,cname,dayhits,lasthits from download where"
因为在你
sql=sql&" lasthits="&tdate&" and dayhits>0"
sql=sql&" order by dayhits desc "
中用到了lasthits="&tdate&"而你并没用读,所以会报错,加上就行了

这个是conn的权限问题
改为conn,3,1

你把conn.asp里的路径“data\jgcomic.mdb”改成“d