Avatar billede jaa1972 Nybegynder
26. august 2010 - 14:45 Der er 3 kommentarer og
1 løsning

ASP Fejl ???

Hej hvem kan hjælpe mig ???

Sidder lige og arbejder med disse koder, men kan ikke få den til at fremkomme med min første post i databasen !

Hvad gør jeg forkert ?



filen kundekartitek.asp:

<a href='kundedata01.asp?ID=" & rs("ID") & "'>



filen kundedata01.asp :

<%

Dim rs

Dim ID, Kundenummer, Adgangskode, Onlinestatus, IP, Kundenavn, Oprettet

Set rs = Server.CreateObject("ADODB.RecordSet")

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../database/portal.mdb")

rs.Open "Kundeoplysninger", strDSN, adOpenDynamic, adLockReadOnly, adCmdTable

rs.find "ID=" & request.querystring("ID")

ID = rs("ID")
Kundenummer = rs("Kundenummer")
Adgangskode = rs("Adgangskode")
Onlinestatus = rs("Onlinestatus")
IP = rs("IP")
Kundenavn = rs("Kundenavn")
Oprettet = rs("Oprettet")
rs.close
set rs = Nothing
%>


Jeg får følegende fejl:

ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

og det er denne linie der er ref til:

rs.find "ID=" & request.querystring("ID")
Avatar billede larsen45 Juniormester
26. august 2010 - 16:39 #1
Prøv med:
strSQL = "SELECT * FROM dintabel where id = " & Request.Querystring("id")


Hvis du gerne vil udtrække første post fra din database kunne det gøres med:

Set RS = Conn.Execute("SELECT ditfelt, FROM dintabel ORDER BY ditfelt DESC LIMIT 0,1")

Eller med:
SELECT TOP 1 * FROM database ORDER BY id
Avatar billede jaa1972 Nybegynder
27. august 2010 - 09:01 #2
Hej Larsen45

Tak for dit svar.

Jeg tror ikke jeg har forklaret mig godt nok, så prøver lige igen.

Jeg har lavet min webside sådan, at man får en liste frem fra min DB, med en linkfunktion på hvert kundenummer. Når du klikker på kunde 1, så skal kundens oplysninger kommer frem, og ligeledes på nummer 2, 3, 4 O.S.V.

Her er koden fra min kundeliste:

<%
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../database/portal.mdb")&";"
Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM Kundeoplysninger ORDER BY Kundenummer"
RS.Open SQL, Conn, 1, 3
%>

<div align="center"><center>

<div align="center"><center>
    <table cellSpacing="0" cellPadding="0" width="468" border="1" bordercolor="#000000">

<TBODY>

<tr><td class="sort" vAlign="middle" width="50" align="center" height="20" bgcolor="#C0C0C0">
    <font face="Verdana" size="1">Online</font></td>
    <td class="sort" width="150" align="left" height="20" bgcolor="#C0C0C0"><p align="center">
    <font size="1" face="Verdana">Kundenummer</font></td>
    <td class="sort" width="220" align="left" height="20" bgcolor="#C0C0C0"><p align="left">
    &nbsp;&nbsp;<font size="1" face="Verdana">Kundenavn</font></td></tr>

<% Do While Not rs.EOF %>

<tr><td class="sort" vAlign="middle" width="50" align="left" height="20">
    <% IF RS("Onlinestatus") = "Online" Then %><p align="center">
    <img border="0" src="../foto/systemfoto/boksonline.gif" width="10" height="10"><% ELSE %></p><p align="center">
    <font color="#FF0000"><img src="../foto/systemfoto/boksoffline.gif" alt></font><% END IF %></td>
    <td class="sort" width="150" align="left" height="20"><p align="center"><font color="#004080" face="Verdana"size="1">
    <a href='kundedata01.asp?'><font color="#345BCC"><%=RS("Kundenummer")%></font></a>
    </td><td class="sort" width="220" align="left" height="20"><p align="left">
    &nbsp;&nbsp;<%=RS("Kundenavn")%></td></tr>

<%
RS.MoveNext
Loop
RS.Close
%>


--------------------------------

Her er koden som skal vise kundeoplysningerne

<!-- #include file="ADOVBS.inc" -->
<%

Dim rs

Dim ID, Kundenummer, Adgangskode, Onlinestatus, IP, Kundenavn, Oprettet

Set rs = Server.CreateObject("ADODB.RecordSet")

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../database/portal.mdb")

rs.Open "Kundeoplysninger", strDSN, adOpenDynamic, adLockReadOnly, adCmdTable

strSQL = "SELECT * FROM Kundeoplysninger where id = " & Request.Querystring("id")

ID = rs("ID")
Kundenummer = rs("Kundenummer")
Adgangskode = rs("Adgangskode")
Onlinestatus = rs("Onlinestatus")
IP = rs("IP")
Kundenavn = rs("Kundenavn")
Oprettet = rs("Oprettet")
rs.close
set rs = Nothing
%>

        <td colspan="2" height="822" valign="top"><div align="center"><center><table border="1" width="468"
        bordercolor="#000000">
      <tr>
        <td class="sort" width="468"><br>&nbsp;&nbsp;Kundeoplysninger:&nbsp;<%=Kundenummer%>&nbsp;<%=Kundenavn%>&nbsp;( <%=Adgangskode%> )<br><br>&nbsp;&nbsp;Kundens IP: ( <%=IP%> ) <br><br>&nbsp;&nbsp;IP Adresse:&nbsp;<%=Oprettet%>&nbsp;<%=Onlinestatus%><br><br>
      </table>
        </center></div></td>

Kan ikke få den til det, så jeg har sikkert lavet et eller andet galt, ved bare ikke hvad ???

Håber du kan hjælpe.
Avatar billede larsen45 Juniormester
27. august 2010 - 14:52 #3
Den er galt med dit link, det vil sige du for ikke taget alle informationerne med.
<a href='kundedata01.asp?ID=" & rs("ID") & "'>

Prøv med nedestående:

<A href="kundedata01.asp?id=<%=rs("id")%>"><%rs("Kundenummer")%><%=left(rs("Kundenummer"),35)%>..</A>

Linien begrænser også til 35 tegn, men det kan du ændre til lige hvad du har lyst til.

Så har du ihvertfald et korrekt link.
Avatar billede larsen45 Juniormester
27. august 2010 - 15:18 #4
du udtrækker alle kunderne fra databasen på 1 side.
Du klikker på linket, og på side 2 vises hver enkelt kunde.

Side 1 viser alle kunder fra database, sorteret fra tabelfelt.
---------------------------------------------------------------
strSQL = "Select * From tabel Order By tabelfelt"
Set rs = Conn.Execute(strSQL)

Du viser alle de felter du vil have med:
<%rs("tabelfelt")%>

Du laver et link til hver enkelt kunde du vil vise:
<A href="kundedata01.asp?id=<%=rs("id")%>"><%rs("Kundenummer")%><%=left(rs("Kundenummer"),35)%>..</A>

På side 2 har du følgende:
strSQL = "SELECT * FROM tabel where id = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)
do while not rs.EOF

Og så indsætter du bare alle de felter du vil have vist igen her:
<%rs("id")%>
<%rs("Kundenummer")%>

husk at afslutte med:
RS.MoveNext
Loop
RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing
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