ADODB.Recordset 错误 '800a0bb9' 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ADODB.Recordset 错误 '800a0bb9' 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。相关的知识,希望对你有一定的参考价值。
下面是代码:
<!--#include file="con1.asp"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
.as
border: 1px solid #CCCCFF;
list-style-type: none;
display: table;
color: #FF0000;
text-decoration: blink;
font-size: 12px;
-->
</style>
</head>
<body>
<div align="center">
<%dim sqld,rs1,curpage
set rs1=server.CreateObject("adodb.recordset")
sqld="select * from sy"
rs1.pagesize=4
rs1.open sqld,con1,1,3
curpage=Request.QueryString("curpage")
rs1.absolutepage=cint(curpage) ////就是这行报错:参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。把他去掉又能够运行,
for i= 1 to rs1.pagesize
if rs1.eof and rs1.bof then
response.Write("没有记录")
response.End()
exit for
end if%>
<%
j=j+1
if j mod 2=0 then
bg="#F1EAF4"
else
bg="#D7E1DE"
end if
%>
<fieldset>
<legend></legend>
<table width="516" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor=<%=bg%> class="as">
<tr>
<td><p>姓名:<a href="?content&id=<%=rs1("id")%>"><%=rs1("aa")%></a></p>
<p>内容:<%=rs1("bb")%></p></td>
</tr>
</table>
</fieldset>
</div>
<div align="center"><br>
<% rs1.movenext
next %>
<%response.Write("共"&rs1.pagecount&"页")%>
<%response.Write("当前第"&curpage&"页")%>
</div>
<p> </p>
<table width="150" height="15" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#CCCCFF">
<tr>
<td><% for i=0 to rs1.pagecount-1
page=i+1
%>
<a href="?curpage=<%=page%>"><%=page%></a>
<%
next
%></td>
</tr>
</table>
</body>
</html>
各位大虾应该怎么改,或者是那里错了 ,回答详细点啊 ,
应该是这里引起的
没有传参数Request.QueryString("curpage")
或传递的参数不是数字
造成进行rs1.absolutepage=cint(curpage)
的时候报错
建议curpage=Request.QueryString("curpage")后判断一下curpage的值再做处理 如:curpage为空 就赋给一个默认值 参考技术B <%dim sqld,rs1,curpage
set rs1=server.CreateObject("adodb.recordset")
sqld="select * from sy"
rs1.pagesize=4
rs1.open sqld,con1,1,3
curpage=Request.QueryString("curpage")
if curpage="" then curpage="1" end if
rs1.absolutepage=cint(curpage)本回答被提问者采纳
无法将“ADODB.Recordset”类型的对象转换为“MSDATASRC.DataSource”类型
【中文标题】无法将“ADODB.Recordset”类型的对象转换为“MSDATASRC.DataSource”类型【英文标题】:Unable to cast object of type 'ADODB.Recordset' to type 'MSDATASRC.DataSource' 【发布时间】:2012-11-27 15:29:34 【问题描述】:我有一个将 Vb6 迁移到 c#.net 的项目。当我运行这个 c# 解决方案时,我得到了一个 InvalidCastException,例如 Unable to cast object of type 'ADODB.Recordset' to type 'MSDATASRC.DataSource'
在语句DataGrid1.DataSource = (MSDATASRC.DataSource)(object)(Module1.rs);.
其中rs生成如下: 公共静态 ADODB.Connection conn = null; 公共静态 ADODB.Recordset rs = null;
conn = new ADODB.Connection();
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Windows.Forms.Application.StartupPath + "\\myDatabase.mdb;Persist Security Info=False",String.Empty,String.Empty,-1);
rs = new ADODB.Recordset();
rs.ActiveConnection = conn;
rs.CursorLocation = (ADODB.CursorLocationEnum)(MSAdodcLib.CursorLocationEnum.adUseClient);
rs.CursorType = (ADODB.CursorTypeEnum)(MSAdodcLib.CursorTypeEnum.adOpenDynamic);
rs.LockType = ADODB.LockTypeEnum.adLockOptimistic;
rs.Source = "SELECT * FROM MyTable";
rs.Open(null,null,ADODB.CursorTypeEnum.adOpenUnspecified,ADODB.LockTypeEnum.adLockUnspecified,-1);
谁能帮我解决这个问题。
【问题讨论】:
【参考方案1】:尝试:
DataGrid1.DataSource = DataGrid1.DataSource = (MSDATASRC.DataSource)(object)(Module1)
【讨论】:
嗨,Oscar,我尝试使用您的代码,但出现错误,例如**'Project1.Module1' is a 'type' but is used like a 'variable'** 我试过这样 DataGrid1.DataSource = (MSDATASRC.DataSource)(object)(Module1.rs.Source);。现在我可以加载页面,但我无法从表中获取记录。以上是关于ADODB.Recordset 错误 '800a0bb9' 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。的主要内容,如果未能解决你的问题,请参考以下文章
错误类型:ADODB.Recordset (0x800A0E79) 对象打开时不允许操作
由于空格,ADODB.Recordset 到 SQL Server 查询失败
PHP ODBC 创建数据库 返回 ADODB.Connection 错误 '800a0e7a'