| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 678 人关注过本帖
标题:可能是分页的问题,大家来讨论
只看楼主 加入收藏
wxlw007
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-7-15
收藏
 问题点数:0 回复次数:11 
可能是分页的问题,大家来讨论

在select.asp中有个下拉列表,按确定后使用selectlist.asp显示下拉列表中选中表名的全部内容(因为问题不在这里,所以我只做了一个list表)
默认显示第一页的内容,没有问题
可是按表格下面的第一页或其他页时,就会出现问题了,让我非常费解.报错如下:

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。
/工作文件夹/ftable/selectlist.asp, 第 15 行

请大家帮我看看这个问题,讨论讨论这个问题出在哪了,谢谢

OIpo62WP.rar (13.38 KB) 可能是分页的问题,大家来讨论


[此贴子已经被作者于2006-8-16 17:35:28编辑过]

搜索更多相关主题的帖子: Microsoft 
2006-08-16 17:35
小猪哼哼
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2006-8-15
收藏
得分:0 
把selectlist.asp代码贴出来大家研究一下嘛。

2006-08-16 17:36
wxlw007
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-7-15
收藏
得分:0 

刚才忘了传了,现在好了,大家讨论一下看问题出在哪了,谢谢
select::
<form id="form1" name="form1" method="post" action="selectlist.asp">
<label>选择数据库
<select name="select">
<option value="links">连接</option>
</select>
</label>
<input type="submit" name="submit" value="确定">
</form>

selectlist:

<!--#include file="conn/conn.asp"-->
<!--#include file="select.asp"-->
<%
'dim tabletname
'TableName=Request("Select")
session("tablename")=Request("Select")
'response.write session("tablename")
'tablename=session("tablename")
exec="select * from "&session("tablename")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1

rs.PageSize=30
pagecount=rs.PageCount
page=int(request.QueryString ("page"))
if page<=0 then page=1
if request.QueryString("page")="" then
page=1
end if
rs.AbsolutePage=page
%>

<table border="1" cellspacing="0" cellpadding="0" align="center" class="thin" bordercolor="bule">
<tr bgcolor="#C6DCDB" class=fontlz>
<%for j=0 to rs.fields.count-1%>
<td><%=rs(j).name%></td>
<%next%>
</tr>

<%for i=1 to rs.PageSize%>
<%if rs.EOF then
exit for
end if%>

<tr <%if i mod 2=0 then response.write "bgcolor=#C6DCDB" end if%> class=fontlz>
<%for k=0 to rs.fields.count-1%>
<td><%=rs(k)%></td>
<%next%>
</tr>

<%rs.movenext
next
%>

<tr><td align="center" class="fontlz">总共<%response.write rs.recordcount%>条</td>
<td colspan=<%=rs.fields.count%> align=right class="fontlz">
<%if page=1 and not page=pagecount then%>
<div align="right">第<%=page%>页<%for i=1 to pagecount%>
<a href="selectlist.asp?page=<%=i%>"><%=i%></a><%next%>
<a href="selectlist.asp?page=<%=page+1%>">下一页</a></div>
<%elseif page=pagecount and not page=1 then%>
<div align="right">第<%=page%>页;<%for i=1 to pagecount%>
<a href="selectlist.asp?page=<%=i%>"><%=i%></a><%next%>
<a href="selectlist.asp?page=<%=page-1%>">上一页</a></div>
<%elseif page<1 then%><div class="font" align="right"><font color=red>没有任何记录!</font></div>
<%elseif page>pagecount then%><div class="font" align="right"><font color=red>没有任何记录!</font></div>
<%elseif page=1 and page=pagecount then%>
<%else%>
<div align="right">第<%=page%>页<%for i=1 to pagecount%>
<a href="selectlist.asp?page=<%=i%>"><%=i%></a><%next%>
<a href="selectlist.asp?page=<%=page-1%>">上一页</a>
<a href="selectlist.asp?page=<%=page+1%>">下一页</a>
</div>
<%end if%>
</td>
</tr>
</table>

<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>

[此贴子已经被作者于2006-8-16 21:25:41编辑过]

2006-08-16 17:38
gdk2006
Rank: 4
等 级:业余侠客
威 望:8
帖 子:928
专家分:270
注 册:2006-7-2
收藏
得分:0 

程序员的悲哀如何找女朋友?
追女解决方案百度“让她着迷”!
2006-08-17 08:31
小猪哼哼
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2006-8-15
收藏
得分:0 
问题所在:
本来看到问题是在这里:exec="select * from "&amp;session("tablename")
因为没找到这里的session("tablename")这个表
但再仔细检查发现session("tablename")=Request("Select"),原因找到了,这里只在从select.asp传递过来时候有效,当你点下面的序号的时候,根本就没有request("select")了,明白了吗?

2006-08-17 11:49
wxlw007
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-7-15
收藏
得分:0 
这里我也考虑很很久,看来不是分页的问题
但是现在脑袋里一片混沌,小猪能有解决的方法么?
给我指条路也好,……
2006-08-17 20:19
wxlw007
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-7-15
收藏
得分:0 
这里我也考虑很很久,看来不是分页的问题
但是现在脑袋里一片混沌,小猪能有解决的方法么?
给我指条路也好,……
2006-08-17 20:53
疯狂IT界
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-6-6
收藏
得分:0 
建议 ~~~路径中不要出现中文
2006-08-18 00:08
wxlw007
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-7-15
收藏
得分:0 
问题解决了,用了一个隐藏的input传递参数
<input name="select" type=hidden value="<%=request("select")%>">
开始那里的session,什么的都不要了,就直接用
exec="select * from "&Request("select")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
然后翻页的时候链接都用
<a href="selectlist.asp?page=<%=i%>&select=<%=request("select")%>"><%=i%></a>
这样就能用了
2006-08-18 09:24
小猪哼哼
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2006-8-15
收藏
得分:0 
想法很好,呵呵,我想到另一个方法,可以在selectlist.asp开头的地方用一个判断来:
if session("tablename")="" then
session("tablename")=Request("Select")
end if
这样的话在点序号的时候session("tablename")将不再被赋值。
当然,安全起见,可以在select.asp最后加一个语句将session("tablename")清空:
session("tablename")=""

2006-08-18 09:33
快速回复:可能是分页的问题,大家来讨论
数据加载中...
 
   



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

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