Avatar billede bredum Nybegynder
17. august 2001 - 23:59 Der er 10 kommentarer og
1 løsning

ADODB.Recordset - En svær een

Jeg er ved at lave en søge funktion på min side, hvor man kun for vist 2 emner afgangen,
hvis der er flere end 2 fundet søgekriterier, men jeg får følgende fejl:

ADODB.Recordset (0x800A0CB3)
Den ønskede handling understøttes ikke af objektet eller provideren.
/search_items.asp, line 69

Jeg har siddet og kæmpet med dette problem, og jeg kan ikke lige se fejlen.
Håber at der er en der kan komme med en løsning på problemet.
_____________
search_items.asp

<% id = Request.Querystring(\"id\")
intPage = Request(\"page\")
If isNumeric(intPage) = False Or intPage < 1 Then
  intPage = 1
End If
IF id = \"\" Then %>
<div align=\"center\">
<br>
  <center>
  <table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">
    <tr>
      <td width=\"100%\" align=\"center\">
        <form method=\"POST\" action=\"index.asp?valg=soeg&id=1\">
          <p><input type=\"text\" name=\"Query\" size=\"25\"> <input type=\"submit\" value=\"Søg\" name=\"Soeg\" class=flatbutton>
          <input type=\"reset\" value=\"Slet\" name=\"slet\" class=flatbutton></p>
        </form>
    </td>
    </tr>
  </table>
  </center>
</div>
<% Else
Query = Request.Form(\"Query\")
If Query = \"\" AND id = 1 THEN %>
<div align=\"center\">
<br>
  <center>
  <table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">
    <tr>
      <td width=\"100%\" align=\"center\">
        <form method=\"POST\" action=\"index.asp?valg=soeg&id=1\">
          <p><input type=\"text\" name=\"Query\" size=\"25\"> <input type=\"submit\" value=\"Søg\" name=\"Soeg\" class=flatbutton>
          <input type=\"reset\" value=\"Slet\" name=\"slet\" class=flatbutton></p>
        </form>
      </td>
    </tr>
    <tr>
      <td width=\"100%\" align=\"center\"><% Response.Write(\"<font color=\'#FFFFFF\' size=\'2\'>Indtast først et søgeord</font><br>\")%></td>
    </tr>
  </table>
  </center>
</div>
<%
Else
%>
<div align=\"center\">
<br>
  <center>
  <table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">
    <tr>
      <td width=\"100%\" align=\"center\">
        <form method=\"POST\" action=\"index.asp?valg=soeg&id=1\">
          <p><input type=\"text\" name=\"Query\" size=\"25\"> <input type=\"submit\" value=\"Søg\" name=\"Soeg\" class=flatbutton>
          <input type=\"reset\" value=\"Slet\" name=\"slet\" class=flatbutton></p>
        </form>
      </td>
    </tr>
    <tr>
      <td width=\"100%\" align=\"center\">
      <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">
      <%
      Set Conn = Server.CreateObject(\"ADODB.Connection\")
      Set Rs = Server.CreateObject(\"ADODB.Recordset\")
      strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"/db/items.mdb\")
      SQL = \"SELECT ProductNum, Name, Price, ImageURL, Description, Category, Status FROM Items WHERE Name LIKE \'%\" & Query & \"%\'\"
      rs.Open SQL, strDSN
      rs.PageSize = 2
      rs.AbsolutePage = intPage
      intRecCount = rs.PageSize
      intPageCount = rs.PageCount

If NOT rs.eof and rs.bof then
      %>
      <table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">
  <tr>
    <td width=\"76%\" valign=\"middle\"><font color=\"#FFFFFF\">&nbsp;Produktgruppe : <% response.Write(\"Søgningsresultat\") %></font></td>
    <td width=\"24%\" valign=\"middle\" align=\"right\"><% Response.Write \"<font color=\'#FFFFFF\' size=\'2\'>&nbsp;Side&nbsp;\" & intPage & \"&nbsp;Af&nbsp;\" & intPageCount & \"</font>&nbsp;\" %></td>
  </tr>
  <tr>
    <td width=\"100%\" colspan=\"2\">
      <hr>
    </td>
  </tr>
</table>
      <%
      Do While Not rs.EOF And intRecCount > 0
        ImageURL = rs(\"ImageURL\")
        ImageURL = \"<img src=\'\" & ImageURL & \"\'>\"
       
      %>
      </font>
     
      <table width=\"90%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"#000000\">
        <tr>
          <td width=\"152\" align=\"right\" valign=\"middle\" bgcolor=\"#FFFFFF\">
            <div align=\"left\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">
              &nbsp;Vare Nr.</font></div>
          </td>
          <td width=\"448\" bgcolor=\"#FFFFFF\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">
      <% =rs(\"ProductNum\")%>
            </font></td>
        </tr>
        <tr>
          <td width=\"152\" align=\"right\" valign=\"middle\" bgcolor=\"#FFFFFF\">
            <div align=\"left\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">&nbsp;Varenavn&nbsp;</font></div>
          </td>
          <td width=\"448\" bgcolor=\"#FFFFFF\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">
        <% =rs(\"Name\")%>
            </font></td>
        </tr>
        <tr>
          <td width=\"152\" align=\"right\" valign=\"middle\" bgcolor=\"#FFFFFF\">
            <div align=\"left\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">&nbsp;Beskrivelse&nbsp;</font></div>
          </td>
          <td width=\"448\" bgcolor=\"#FFFFFF\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">
        <% =rs(\"Description\")%>
            </font></td>
        </tr>
        <tr>
          <td width=\"152\" align=\"right\" valign=\"middle\" bgcolor=\"#FFFFFF\">
            <div align=\"left\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">&nbsp;Pris&nbsp;</font></div>
          </td>
          <td width=\"448\" bgcolor=\"#FFFFFF\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">
        <% =rs(\"Price\")%>
            </font></td>
        </tr>
        <tr>
          <td width=\"152\" align=\"right\" valign=\"middle\" bgcolor=\"#FFFFFF\">
            <p align=\"left\">
            <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">&nbsp;Lagerstatus</font>
            </p>
          </td>
          <td width=\"448\" bgcolor=\"#FFFFFF\"><% If rs(\"Status\") = True Then %><img border=\"0\" src=\"Images/lager_ok.gif\"><% Else %><img border=\"0\" src=\"Images/lager_tom.gif\"><%End If%></td>
        </tr>
        <tr>
          <td width=\"152\" align=\"right\" valign=\"bottom\" bgcolor=\"#FFFFFF\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"index.asp?valg=viskurv&amp;action=add&amp;item=<% =rs(\"ProductNum\")%>&amp;count=1\"><img src=\"Images/ikurven.gif\" border=\"0\" alt=\"Læg i kurven\"></a></font></td>
          <td width=\"448\" align=\"left\" valign=\"bottom\" bgcolor=\"#FFFFFF\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">
        <% =ImageURL %>
            </font></td>
        </tr>
      </table>
      <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"> </font>
      <hr color=\"#CCCCCC\" size=\"1\" noshade>
      <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">
      <%
      intRecCount = intRecCount - 1
        rs.MoveNext
        loop
      Else
      Response.Write \"<font color=\'#FFFFFF\'>Søgningen gav intet resultat</font><BR>\"
      end if

Response.write\"<center>\"
Response.Write \"<font color=\'#FFFFFF\' size=\'2\'>&nbsp;Gå til side&nbsp;\"
If Clng(intPage) > 1 Then
  Response.Write \"<a href=index.asp?valg=soeg&page=\" & intPage - 1 & \">&nbsp;&lt;&lt;&nbsp;</a>\"
Else
  Response.Write \"&nbsp;&lt;&lt;&nbsp;\"
End If
For intNum = 1 To intPageCount
  Response.Write \"<a href=index.asp?valg=soeg&page=\" & intNum & \">\" & intNum & \"</a> \"
Next
If Clng(intPage) < Clng(intPageCount) Then
  Response.Write \"<a href=index.asp?valg=soeg&page=\" & intPage + 1 & \">&gt;&gt;&nbsp;</a></font>\"
Else
  Response.Write \"&gt;&gt;&nbsp;</font>\"
End If
Response.write\"</center><br><br>\"
%>
      </font> </td>
        </tr>
      </table>
  </center>
</div>
<%
rs.Close
Set rs = Nothing
End IF
End If %>
Avatar billede tmceu Praktikant
18. august 2001 - 00:08 #1
Hvilken linie er 69 ?
Avatar billede minijensen1 Nybegynder
18. august 2001 - 00:09 #2
hvad er det lige for en linie der er nummer 69?
Avatar billede bredum Nybegynder
18. august 2001 - 00:15 #3
Det er ved intRecCount = rs.PageSize
Avatar billede minijensen1 Nybegynder
18. august 2001 - 00:17 #4
prøv at lave \"rs.Open SQL, strDSN\" om til \"rs.Open SQL, strDSN, 1, 3\".. bare et tåget gæt  ;o)
Avatar billede tmceu Praktikant
18. august 2001 - 00:19 #5
Skal det ikke være Det er ved intRecCount = rs.RecordCount ?
Avatar billede tmceu Praktikant
18. august 2001 - 00:20 #6
Undskyld, skal det ikke være intRecCount = rs.RecordCount ? Navnet på variablen indikerer at du vil have antal records og ikke pagesize.
Avatar billede bredum Nybegynder
18. august 2001 - 00:25 #7
tmceu: Nej intRecCount definere at der kun skal være rs.pages size poster pr. visning
Avatar billede nitz Nybegynder
18. august 2001 - 14:59 #8
Hej Bredum,

Jeg havde selv samme problem, mit fik dog heldigvis hjælp til at finde ud af det... Jeg smider lige scriptet til dig, så du skal lige rette til hist og her...... Jeg kan fortælle at jeg er hosted hos Scannet, så det kan være du connecter til dine databaser anderledes.....anyhoo så kommer det her:

<%
Dim Rs, Conn
Dim strSQL
%>

<body bgcolor=#FFFFFF>
<table width=500 border=0>
<tr>
    <td valign=top>

    <%
intPage = Request(\"page\")
If isNumeric(intPage) = False Or intPage < 1 Then
  intPage = 1
End If





Set objDBConn = Server.CreateObject(\"ADODB.Connection\")
Set RS    = Server.CreateObject(\"ADODB.Recordset\")
objDBConn.Open \"Din_database\" 

    strSQL = \"SELECT * FROM din_tabel\"

with rs
.cursortype = 2
.locktype = 3
end with
rs.open strsql, Conn, 1, 1
\'Set Rs = Conn.Execute(strsql)
\'rs.Open conn, ,1,1
%>
<table border=0 align=center width=350>

<%

If Not (rs.BOF Or rs.EOF) Then
  rs.PageSize = 20
  rs.AbsolutePage = intPage
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount

%>
<tr>
    <td>
    <table border=0>

<%

  Do While Not rs.EOF And intRecCount > 0
        %>
<tr>
    <td><% =rs(\"noget_du_gerne_vil_have_bliver_skrevet\") %></td>

</tr>
        <%
  intRecCount = intRecCount - 1
  rs.MoveNext
  Loop
End If
rs.Close
Set rs = Nothing





Response.Write \"<tr><td colspan=3><b><font face=tahoma size=1 color=#000000>Gå til side \"
For intNum = 1 To intPageCount
if intnum = 33 then
response.write(\"<br>\")
end if
  Response.Write \"<a href=samme_side.asp?page=\" & intNum & \">\" & intNum & \"</a>&nbsp;\"
Next
Response.Write \"</td></tr><tr><td colspan=3 align=right><font face=tahoma size=1 color=#000000>Side \" & intPage & \" af \" & intPageCount & \"</td></tr>\"
%>
</table>
    </td>
</tr>           
</table>



   
   
    </td>
</tr>
   
   
</table>
</body>
</html>



Jeg håber du kan bruge det, held og lykke :o)

hilsener

Tommy
Avatar billede nitz Nybegynder
18. august 2001 - 15:01 #9
... Lige en rettelse...... den side er ikke hosted hos Scannet, den er hosted hos Golden Planet... Hvis du stadig har problemer, kan jeg prøve at poste den fra Scannetsiden og se om det hjælper.

- Tommy
Avatar billede zeptic Nybegynder
21. august 2001 - 10:45 #10
Ifølge http://www.devguru.com/Technologies/ado/quickref/recordset_pagesize.html er det ikke alle der understøtter rs.PageSize
Avatar billede bredum Nybegynder
30. august 2001 - 15:23 #11
det virker stadig ikke, dropper sagen :-(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester