回 帖 发 新 帖 刷新版面

主题:求解:[Microsoft][ODBC 驱动程序管理器] 数据源名称过长

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 &"&nbsp;"
    else
        Response.Write"<a href='list.asp?page_no="& I &"'>"& I &"</A>&nbsp;"
    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个回复)

沙发

select语句没问题我试过,高手请进,帮小弟解决下

板凳

rs.Open strSql,db,1,3  少参数了!

3 楼

谢谢楼上,照你说的改了后

ADODB.Connection 错误 '800a0e78' 
对象关闭时,不允许操作。 

/sheji/list.asp,行 30 

4 楼

麻烦能给一下报错那行的代码吗?你光给个报错信息怎么帮你数行数啊?

5 楼

If rs.Bof Or rs.Eof Then

6 楼

ADODB.Connection 错误 '800a0e78' 
对象关闭时,不允许操作。 

/sheji/list.asp,行 30 

If rs.Bof Or rs.Eof Then

7 楼

如果我把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 楼

怎么没人说话了啊!

求教!!!!!!!!!!!!!!!!

9 楼

终于解决了
换了个写法:
<% 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 & "&nbsp;"
        else
           response.write "<a href=list.asp?page_no=" & I & ">" & I & "</a>&nbsp;"
        End if
    next
End if
    
%>
 </center>
</body>
</html>

我来回复

您尚未登录,请登录后再回复。点此登录或注册