myconn.close()
应该加在最后,应为中间While dr.Read还在读,

解决方案 »

  1.   

    你这样写实际上使用asp的方法用asp.net,不大好,还是codebehind比较好
      

  2.   

    加dr.close后面就会出现myconn未声明,只能把代码改成这样才行
    <% @ Import Namespace="System.Data" %> 
    <% @ Import Namespace="System.Data.OleDb" %> 
    <Script Runat="Server"> Dim dr As OleDbDataReader
    Dim myconn As New oledbconnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&server.MapPath("DataBase\db1.mdb")&"")Sub page_load(obj As object,e As eventargs) 
    myconn.open() 
    Dim mycomm As New oledbcommand("Select * from BookMark",MyConn) 
    dr = MyComm.ExecuteReader() 
    End Sub </script> 
    <html> 
    <head> 
    <title></title> 
    </head> 
    <body> 
    <b>demo</b> 
    <table border=1> 
    <tr bgcolor="#aaaadd"><td>网站名</td><td>网址</td><td>介绍</td></tr> 
    <% 
    While dr.Read 
    %> 
    <tr><td><%=dr("SiteName")%></td><td><%=dr("URL").ToString()%></td><td><%=dr("Comment").ToString()%></td></tr> 
    <% 
    End while 
    dr.Close()
    myconn.close() 
    %> 
    </table> 
    </body> 
    </html>这样就正常了,并且就能关闭连接,但我觉得这样的写法不太好,有没更好的解决方法???