新微赢技术网

标题: [求助]大家都来看下 [打印本页]

作者: の瘋がす贪恋    时间: 2010-1-8 00:08
标题: [求助]大家都来看下
第一段
<% option explicit%>
<!--#Include file="odbc_connection.asp"-->
<!--#Include file="function.asp"-->
<html>
<head>
<title>ASP讨论天地</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<body background="../maxcool/ceTrSdUCWIYRQ.jpg">
<h2 align="center">ASP讨论天地</h2>
<center>

<table width="90%" border="0" cellspacing="5" bordercolor="#0033CC" background="../maxcool/ceTrSdUCWIYRQ.jpg">
<tr bgcolor="#CCFFFF" align="center">
<td width="7%">序号</td>

<td width="43%" bgcolor="#CCFFFF">主题</td>

<td width="8%" bgcolor="#CCFFFF">回复</td>
<td width="8%">点击</td>
<td width="8%">发言人</td>
<td width="26%">发言时间</td>
</tr>
<%
Dim strsql,rs
'因为要分页显示查询结果,所以用下面方法创建一个recordset对象
strsql="Select * From bbs表 Where layer=1 Order By submit_date desc"
Set rs=Server.CreateObject("ADODB.Recordset")
rs.Open strsql,db,1 '请注意创建recordset对象的方法
If Not rs.Bof And Not rs.Eof Then
'以下主要为了分页显示
Dim page_size '声明每页多少条记录变量
Dim page_no '声明当前是第几页变量
Dim page_total '声明总页数变量
page_size=10 '每页显示10条记录
If Request("page_no")="" Then '如果第一次打开,则page_no为1,否则,
page_no=1 '由传回的参数决定
Else
page_no=cint(Request("page_no"))
End If
Session("page_no")=page_no '将page_no存入session,以备其它页返回时用
rs.PageSize=page_size '设置每页多少条记录
page_total=rs.PageCount '返回总页数
rs.AbsolutePage=page_no '设置当前显示第几页
'下面一段显示当前页的所有记录
Dim I,J
I=0 '该变量用来输出序号
J=page_size '该变量用来控制显示当前页记录
Do While Not rs.Eof And J>0 '循环直到当前页结束或文件结尾
I=I+1
J=J-1
%>
<tr bgcolor="#FFFFCC" align="center">
<td><% =(page_no-1)*page_size+I %>
<td><a href="count_hits.asp?bbs_id=<%=rs("bbs_ID")%>">
<%=rs("title")%></a></td>
<td><%=rs("child")%></td>
<td><%=rs("hits")%></td>
<td><%=rs("use_name")%></td>
<td><%=rs("submit_date")%></td>
</tr>
<%
rs.MoveNext
Loop
End If
%>
</table>
<a href="announce.asp">发表新文章</a>&nbsp&nbsp&nbsp&nbsp
<%
'调用子程序,写出有关各页的链接信息
Call select_page(page_no,page_total)
%>
</center>
</body>
</html>
================
第二段
<%
'连接BBS数据库
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "BBS论坛"
%>
================
第三段
<% Response.Buffer=True %>
<!--#Include file="odbc_connection.asp"-->
<html>
<head>
<title>回复文章</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<body background="../maxcool/cehIgS9QLaLLc.jpg">
<%
Dim bbs_id,title
bbs_id=Request("bbs_id") '返回欲回复文章编号
title=Request("title") '返回欲回复文章标题
%>
<h2 align="center">回复文章</h2>
<center>
<table border="0" width=90%>
<form method="post" action="" name="form1" >
<tr><td>主题:</td><td><input type="text" name="title" size="60"
value="re:<%=title%>">** </td></tr>
<tr><td>内容:</td><td><textarea name="body" rows="4" cols="60" wrap="soft">
</textarea></td></tr>
<tr><td>姓名:</td><td><input type="text" name="use_name" size="20">**
</td></tr>
<tr><td></td><td><input type="submit" value=" 提交 " size="20"></td></tr>
</form>
</table>
</center>
<p align=center><a href="particular.asp?bbs_id=<%=bbs_id%>">返回</a>
<%
If Request("title")<>"" And Request("use_name")<>"" Then
Dim body,layer,parent_id,child,hits,ip,user_name '声明变量方便使用
title=Request.Form("title") '返回文章标题
body=Request.Form("body") '返回文章内容
user_name=Request.Form("use_name") '返回作者姓名
layer=2 '这是第二层
parent_id=bbs_id '因为是第二层,父编号为bbs_id
child=0 '回复文章数目为0
hits=0 '点击数为0
ip=Request.ServerVariables("remote_addr") '作者IP地址
'以下将文章保存到数据库
Dim sql,svalues
sql = "Insert Into bbs表(title,layer,parent_id,child,hits,ip,use_name,submit_date"
svalues = "Values('" & title & "'," & layer & "," & parent_id & "," &child & "," & hits & ",'" & ip & "','" & use_name & "','" & date() & "'"
If body<>"" Then '如果文章内容不为空,则添加内容
sql = sql & ",body"
svalues = svalues & "," & "'" & body & "'"
End If
sql = sql & ") " & svalues & ")"
db.Execute(sql)
'下面两句将原文章的回复数加1
sql="Update bbs表 Set child=child+1 Where bbs_id=" & bbs_id
db.Execute(sql)
db.Close
'重定向回原来页面
Response.Redirect "particular.asp?bbs_id=" & bbs_id
End If
%>
</body>
</html>
=========================
第四段
<%Response.buffer=true%>
<!--#Include file="odbc_connection.asp"-->
<%
Dim bbs_id
bbs_id=Request("bbs_id") '返回文章编号
'下面一段将点击次数加1,然后引导至particular.asp以显示内容
sql="Update bbs表 Set hits=hits+1 Where bbs_id=" & bbs_id
db.Execute(sql)
db.Close
Response.Redirect "particular.asp?bbs_id=" & bbs_id '引导至particular.asp
%>
========================
第五段
<h2 align=center>详细内容</h2>
<%
Dim bbs_id
bbs_id=Request("bbs_id") '返回当前要显示的记录编号

'以下显示当前记录内容
Dim sql,rs
sql="Select * From bbs表 Where bbs_id =" & bbs_id
Set rs=db.Execute(sql)
%>
<center>
<p><a href="index.asp?page_no=<%=Session("page_no")%>">返回首页</a>
&nbsp&nbsp|&nbsp&nbsp
<a href="re_announce.asp?bbs_id=<%=bbs_id%>&title=<%=rs("title")%>">回复文章</a>
<table border="0" bgcolor="#CCFFFF" width="90%">
<tr>
<td width=20%>主题</td>
<td><b><big><%=rs("title")%></big></b></td>
</tr>
<tr>
<td>内容</td>
<td><%=rs("body")%></td>
</tr>
<tr>
<td></td>
<td align=right><small><I><%=rs("use_name")%>&nbsp发表于
<%=rs("submit_date")%></small></td>
</tr>
</table>
<%
'以下显示所有回复文章内容
sql="Select title,body,use_name,submit_date From bbs表 Where"
sql=sql & " parent_id=" & bbs_id '这个条件就是显示所有回复文章的
sql=sql + " Order By submit_date desc"
Set rs=db.Execute(sql)
Dim I '声明这个变量主要是为了给回复编序号
I=0
Do While Not rs.Eof
I=I+1
%>
<table border="0" bgcolor="#FFFFCC" width="90%">
<caption align=left><font color=red size=2>回复<%=I%></font></caption>
<tr>
<td width=20%>主题</td>
<td><%=rs("title")%></td>
</tr>
<tr>
<td>内容</td>
<td><%=rs("body")%></td>
</tr>
<tr>
<td></td>
<td align=right><small><i><%=rs("use_name")%> &nbsp回复于
<%=rs("submit_date")%></i></small></td>
</tr>
</table>
<%
rs.MoveNext
Loop
%>
</center>
</body>
</html>
====================
第六段
<% Response.Buffer=True %>
<!--#Include file="odbc_connection.asp"-->
<html>
<head>
<title>发表新文章</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<body background="../maxcool/ceWYJueyjM9jw.jpg">
<h2 align="center">发表新文章</h2>
<center>
<table border="0" width=90%>
<form method="post" action="" name="form1" >
<tr><td>主题:</td><td><input type="text" name="title" size="60">**
</td></tr>
<tr><td>内容:</td><td><textarea name="body" rows="4" cols="60" wrap="soft">
</textarea></td></tr>
<tr><td>姓名:</td><td><input type="text" name="use_name" size="20">**
</td></tr>
<tr><td></td><td><input type="submit" value=" 提交 " size="20"></td></tr>
</form>
</table>
</center>
<p align=center><a href="index.asp?page_no=<%=Session("page_no")%>">返回首页</a>
<%
'如果文章标题和作者姓名不为空,就执行下面操作。
If Request("title")<>"" And Request("use_name")<>"" Then
Dim title,body,layer,parent_id,child,hits,ip,use_name '声明变量方便使用
title=Request.Form("title") '返回文章标题
body=Request.Form("body") '返回文章内容
user_name=Request.Form("use_name") '返回作者姓名
layer=1 '这是第一层
parent_id=0 '因为是第一层,父编号设为0
child=0 '回复文章数目为0
hits=0 '点击数为0
ip=Request.ServerVariables("remote_addr") '作者IP地址
'以下将文章保存到数据库
Dim sql,svalues
sql="Insert Into bbs表(title,layer,parent_id,child,hits,ip,use_name,submit_date"
svalues = "Values('" & title & "'," & layer & "," & parent_id & "," &child & "," & hits & ",'" & ip & "','" & use_name & "','" & date() & "'"
If body<>"" Then '如果有内容,则添加body字段
sql = sql & ",body"
svalues = svalues & "," & "'" & body & "'"
End If
sql = sql & ") " & svalues & ")"
db.Execute(sql)
db.Close '关闭connection对象
'保存完毕,重定向回首页
Response.Redirect "index.asp"
End If
%>
</body>
</html>
=================================

第四段的错误


错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: '=' 附近有语法错误。
/课程设计/count_hits.ASP, 第 8 行

浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)

======================
第五段的错误

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: '=' 附近有语法错误。
/课程设计/particular.ASP, 第 15 行

浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)


求助高手哪里错了啊?郁闷啊,难道我数据库没连好,但是其他都可以执行啊???
作者: lianeh    时间: 2010-1-8 00:09
第4段代码中bbs_id的值是从哪段代码提交过来的?
作者: 幻影    时间: 2010-1-8 00:09
我估计我在设置数据库连接的时候有毛病但为什么,其他的还能几个还能执行呢~!?费解




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2