| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2013 人关注过本帖
标题:asp分页后点击下一页即出现“rs.open SQL,conn,1,1 子语法错误”提示,请问 ...
取消只看楼主 加入收藏
liuvking
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2009-7-22
结帖率:87.5%
收藏
 问题点数:0 回复次数:4 
asp分页后点击下一页即出现“rs.open SQL,conn,1,1 子语法错误”提示,请问各位怎么回事?
我编制了一个背单词程序,原理是在数据库中我有几个不同英语级别的单词表,通过index.asp页面来选择一个想要进行练习的英语级别,然后把所选的值clas作为参数传到deal.asp页面,在deal.asp页面中,所选值clas为查询语句“SQL="select * from "&clas”赋值,但是,如果单纯地将clas参数替换为任意一个表名都正常,而当我用clas参数给查询语句赋值时,在第一页中可以正常显示,但一点下一页,马上就出现:“rs.open SQL,conn,1,1 子语法错误”的提示,请问这是怎么回事 啊?
注:由于单词量太多,我采用了分页浏览方式,即现在只能看第一页的内容,一点下一页就报错,请各位帮忙看看哪里出问题了。谢谢!
搜索更多相关主题的帖子: asp open 语法 conn SQL 
2009-11-02 23:25
liuvking
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2009-7-22
收藏
得分:0 
回复 4楼 yms123
版主果然厉害!我今天用设置断点的方法检验了,的确是在第二页后,原本要赋给SQL语句的值没了!这是怎么回事啊?我用session变量来储存也不行,请问该怎么办?
2009-11-03 15:29
liuvking
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2009-7-22
收藏
得分:0 
回复 6楼 yms123
版主,不好意思,因为课业紧张,现在才有时间上网。
代码贴出来你看看怎么回事:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">



<title>英语</title>
</head>
<style type="text/css">

<!--
td{font: 10pt/12pt "Arial"; color: black}
-->
</style>
<body>
<font size=4 color=red><center>请根据所给中文写出英文单词</center></font>
<table align=center>
<tr>
<td>
 </td>
</tr>
</table>




<%clas=request.form("jibie")  '"jibie"是从前台传过来的所选的英语级别的表名。

Set conn= Server.CreateObject("ADODB.Connection")
provider="provider=microsoft.jet.oledb.4.0;"
DBPath ="data source=" & Server.MapPath("data.mdb")
conn.Open provider & DBPath


set rs=server.createobject("adodb.recordset")

SQL="select * from "&clas    ’这里使用session()变量也不管用,点击“下一页”后,可以检测发现原本有值的“clas”变量变成空了。

pgsize=1
page=request.querystring("page")



rs.open SQL,conn,1,1



rs.pagesize=pgsize
pgnm=rs.pagecount
if page="" or clng(page)<1 then page=1
if clng(page)>pgnm then page=pgnm
if pgnm>0 then rs.absolutepage=page
count=0


  %>

<%session("chinese")=rs("chinese1")%>
 <%session("english")=rs("english")%>
 

 
<table width="788" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#3399CC">
<tr>
    <td width="368" height="36" align="left"><font size="3">中文意思</font></td>
    <td width="414" height="36" align="left"><font size="3">请输入英文</font></td>
  
</tr>
<% do while not rs.eof and count<rs.pagesize %>


<tr><td size=4 height="25"width=368 align=left><%Response.Write rs("chinese1")%><%=rs("chinese2")%></td>
<td height="25"width=414 align=left>
<form action ="result.asp" name=getinf method=post>
 <input type=text name=english  size=58 ></td>
 
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
</tr>



<% count=count+1
rs.MoveNext

Loop



 rs.Close
  Set rs=Nothing
  conn.Close
  Set conn=Nothing

%>

<%session("page")=page%>
<table width="1236" align=center>
<tr><td width="281"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </font><a href=deal.asp?page=1><font size="3">第一题</font></a></td>
<td width="178"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href=deal.asp?page=<%=page-1%>>上一题</a></font></td>
<td><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href=deal.asp?page=<%=page+1%>>下一题</a></font></td>
<td width="575"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href=deal.asp?page=<%=pgnm%>>最后一题</a></font></td>
</tr></table>
<br>共有<%=pgnm%>题;当前在第<%=page%>题





</html>

</table>

 
</body>
  <center><br><input type=submit name=submit1 value="确定"></form>
  <p align="center"><a href="tongji.asp">不做了,看成绩去!</a></p>


请版主帮忙解决一下这个问题,谢谢!
2009-11-04 21:01
liuvking
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2009-7-22
收藏
得分:0 
回复 8楼 aspic
貌似···还是不管呢···
高手看看改后的代码:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">



<title>英语</title>
</head>
<style type="text/css">

<!--
td{font: 10pt/12pt "Arial"; color: black}
-->
</style>
<body>
<font size=4 color=red><center>请根据所给中文写出英文单词</center></font>
<table align=center>
<tr>
<td>
 </td>
</tr>
</table>




<%clas=request.form("jibie")

Set conn= Server.CreateObject("ADODB.Connection")
provider="provider=microsoft.jet.oledb.4.0;"
DBPath ="data source=" & Server.MapPath("data.mdb")
conn.Open provider & DBPath


set rs=server.createobject("adodb.recordset")

SQL="select * from "&clas
pgsize=1
page=request.querystring("page")



rs.open SQL,conn,1,1



rs.pagesize=pgsize
pgnm=rs.pagecount
if page="" or clng(page)<1 then page=1
if clng(page)>pgnm then page=pgnm
if pgnm>0 then rs.absolutepage=page
count=0


  %>

<%session("chinese")=rs("chinese1")%>
 <%session("english")=rs("english")%>
 

 
<table width="788" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#3399CC">
<tr>
    <td width="368" height="36" align="left"><font size="3">中文意思</font></td>
    <td width="414" height="36" align="left"><font size="3">请输入英文</font></td>
  
</tr>
<% do while not rs.eof and count<rs.pagesize %>


<tr><td size=4 height="25"width=368 align=left><%Response.Write rs("chinese1")%><%=rs("chinese2")%></td>
<td height="25"width=414 align=left>
<form action ="result.asp" name=getinf method=post>
 <input type=text name=english  size=58 ></td>
 
</tr>



<% count=count+1
rs.MoveNext

Loop



 rs.Close
  Set rs=Nothing
  conn.Close
  Set conn=Nothing

%>

<%session("page")=page%>
<table width="1236" align=center>
<tr><td width="281"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </font><a href=deal.asp?page=1&jibie=<%=clas%>><font size="3">第一题</font></a></td>
<td width="178"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href=deal.asp?page=<%=page-1%>&jibie=<%=clas%>>上一题</a></font></td>
<td><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href=deal.asp?page=<%=page+1%>&jibie=<%=clas%>>下一题</a></font></td>
<td width="575"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href=deal.asp?page=<%=pgnm%>&jibie=<%=clas%>>最后一题</a></font></td>
</tr></table>
<br>共有<%=pgnm%>题;当前在第<%=page%>题





</html>

</table>

 
</body>
  <center><br><input type=submit name=submit1 value="确定"></form>
  <p align="center"><a href="tongji.asp">不做了,看成绩去!</a></p>






浏览器地址栏的参数为:http://127.0.0.1/index/english/deal.asp?page=2&jibie=senior
一点“下一页”又报错了···
2009-11-07 23:52
liuvking
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2009-7-22
收藏
得分:0 
回复 10楼 aspic
对啊!忘了“form”这码事,现在解决了,谢谢版主!高手啊!
但是我还有一个疑问,就是为什么用session来储存变量还是不能把值传递到下一页?
2009-11-08 21:37
快速回复:asp分页后点击下一页即出现“rs.open SQL,conn,1,1 子语法错误”提示, ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021844 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved