主题:求解:[Microsoft][ODBC 驱动程序管理器] 数据源名称过长
雪夜读书 [专家分:0] 发布于 2007-05-11 19:06:00
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC 驱动程序管理器] 数据源名称过长
/sheji/list.asp,行 28
原代码:
<% Option Explicit %>
<!--#Include file="../conn.asp"-->
<html>
<head>
<title>LIST</title>
</head>
<body>
<h2 align="center">产品价格</h2>
<center>
<table border="1" width="100%">
<tr>
<td>ID</td>
<td>产品名称</td>
<td>类型</td>
<td>库存量</td>
<td>市场价</td>
<td>商城价</td>
<td>会员价</td>
</tr>
<%
//建立Recordset对象
Dim rs,strSql
set rs=Server.CreateObject("ADODB.Connection")
strSql="select ProductID,ProductName,ProductType,Stocks,Price_Market,Price_Original,Price_Member From Pe_product order By ProductID DESC"
rs.Open strSql,1,3
If rs.Bof Or rs.Eof Then
Response.Write"现在还没有数据"
Else
dim page_size
dim page_no
dim page_total
page_size=10
If Response.QueryString("page_no")="" then
page_no=1
else
page_no=Cint(Request.QueryString("page_no"))
End if
rs.pagesize=page_size
page_total=rs.PageCount
rs.AbsolutePage=page_no
dim I
I=page_size
Do while Not rs.EOF And I>0
I=I-1
Response.Write"<tr align='cnter'>"
Response.Write"<td>" & rs("productID") & "</td>"
Response.Write "<td>" & rs("productname") & "</td>"
Response.Write "<td>" & rs("producttype") & "</td>"
Response.Write "<td>" & rs("stocks") & "</td>"
Response.Write"<td>" & rs("price_market") & "</td>"
Response.Write"<td>" & rs("price_orginal") & "</td>"
Response.Write "<td>" & rs("price_member") & "</td>"
Response.Write"</tr>"
rs.MoveNext
Loop
%>
</table>
<%
Response.Write"<p>请选择数据页:"
For I=1 To page_total
if I=page_no then
Response.Write I &" "
else
Response.Write"<a href='list.asp?page_no="& I &"'>"& I &"</A> "
end if
next
end if
rs.Close
Set rs=nothing
db.Close
Set db=nothing
%>
</center>
</body>
</html>
数据源设计为
<%
dim db,strCon
strCon="Dbq="&Server.Mappath("yskj#guweiwei123456.mdb")&";Driver={Microsoft Access Driver (*.mdb)};"
set db=Server.CreateObject("ADODB.Connection")
db.Open strCon
%>
回复列表 (共9个回复)
沙发
雪夜读书 [专家分:0] 发布于 2007-05-11 19:09:00
select语句没问题我试过,高手请进,帮小弟解决下
板凳
yaozheng [专家分:28410] 发布于 2007-05-11 20:16:00
rs.Open strSql,db,1,3 少参数了!
3 楼
雪夜读书 [专家分:0] 发布于 2007-05-13 09:58:00
谢谢楼上,照你说的改了后
ADODB.Connection 错误 '800a0e78'
对象关闭时,不允许操作。
/sheji/list.asp,行 30
4 楼
yaozheng [专家分:28410] 发布于 2007-05-13 11:15:00
麻烦能给一下报错那行的代码吗?你光给个报错信息怎么帮你数行数啊?
5 楼
雪夜读书 [专家分:0] 发布于 2007-05-13 11:27:00
If rs.Bof Or rs.Eof Then
6 楼
雪夜读书 [专家分:0] 发布于 2007-05-13 11:29:00
ADODB.Connection 错误 '800a0e78'
对象关闭时,不允许操作。
/sheji/list.asp,行 30
If rs.Bof Or rs.Eof Then
7 楼
雪夜读书 [专家分:0] 发布于 2007-05-13 12:38:00
如果我把rs.Open strSql,db,1,3改成
rs.Open strSql,db,1的话有有新的问题
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC 驱动程序管理器] 数据源名称过长
/sheji/list.asp,行 29
rs.Open strSql,db,1 ------------------ 行29
8 楼
雪夜读书 [专家分:0] 发布于 2007-05-14 11:12:00
怎么没人说话了啊!
求教!!!!!!!!!!!!!!!!
9 楼
雪夜读书 [专家分:0] 发布于 2007-05-14 17:33:00
终于解决了
换了个写法:
<% Option Explicit %>
<!--#Include file="conn.asp"-->
<html>
<head>
<title>LIST</title>
</head>
<body>
<h2 align="center">产品价格</h2>
<center>
<table border="1" width="100%">
<tr>
<td>ID</td>
<td>产品名称</td>
<td>类型</td>
<td>库存量</td>
<td>市场价</td>
<td>商城价</td>
<td>会员价</td>
</tr>
<%
Dim sql,rs
sql="select * From Pe_product Order By ProductID DESC"
set rs=Server.CreateObject("ADODB.Recordset")
rs.Open sql,db,1
If Not rs.Bof And Not rs.Eof Then
dim page_size
dim page_no
dim page_total
page_size=10
If Request("page_no")="" then
page_no=1
else
page_no=Cint(Request.QueryString("page_no"))
End if
rs.PageSize=page_size
page_total=rs.PageCount
rs.AbsolutePage=page_no
dim I
I=page_size
Do while Not rs.EOF And I>0
I=I-1
%>
<tr align="center">
<td><%=rs("ProductID")%></td>
<td><%=rs("ProductName")%></td>
<td><%=rs("ProductType")%></td>
<td><%=rs("Stocks")%></td>
<td><%=rs("Price_Market")%></td>
<td><%=rs("Price_Original")%></td>
<td><%=rs("Price_Member")%></td>
</tr>
<%
rs.MoveNext
Loop
%>
</table>
<%
response.write"请选择页码:"
for I=1 to page_total
if I=page_no then
response.write I & " "
else
response.write "<a href=list.asp?page_no=" & I & ">" & I & "</a> "
End if
next
End if
%>
</center>
</body>
</html>
我来回复