07. april 2003 - 15:21Der er
25 kommentarer og 1 løsning
2 listmenuer og resultatet herfra
Jeg har oprettet 2 listmenuer(parent og child) med informationer fra min database. Disse to listmenuer udtrækker et brugerid og en dato for indtastninger af den førnævnte bruger. Når jeg har gjort mit valg i listmenuerne vil jeg gerne at resultatet bliver vist under listmenuerne. Jeg har lavet et recordset hvor alle oplysninger er og har PRØVET at lave en tilsvarende SQL SELECT * FROM logbog WHERE brugerid = 'MMColParam' and dato='MMColParam1'
Den åbenlyse kunne være at du bare havde fået skrevet teksten ind i sql'en. sql="SELECT * FROM logbog WHERE brugerid = 'MMColParam' and dato='MMColParam1'" burde være sql="SELECT * FROM logbog WHERE brugerid = '" & MMColParam & "' and dato='" & MMColParam1 & "'"
Det er nu nok ikke det. ;-)
Men - Hverken brugerid eller dato er formentligt tekster, så du bør sammenligne med de rigtige typer. Hvis brugerid er et tal, skal du sammenligne med brugerid=4. Hvis dato er en dato, skal du sammenligne med dato=#07/04/2003# eller endnu bedre dato=#2003/04/07#
Må hellere lige tilføje at #07/04/2003# kun gælder hvis det er overfor en Access-base. Med mysql ville dit eksempel virke, og med ms-sql skal man bruge convert eller cast.
Der er sket en ændring - får ikke en fejlmeddelelse når jeg trækker felter ind fra databasen der skal vises. Jeg har dog lidt problemer med at få vist resultatet nu. Hvis jeg skal have vist de valgte poster som resultater på samme side - hvad gør jeg så med formen. Skal den "poste" til samme side ?
Sikker på det skal være QueryString og ikke Request.Form ? Synes ikke jeg kan få det til at fungere. Har du tid til at fortælle kort hvorledes denne form skal sættes op ? Nu hvor det ser ud til at recordset´et ikke fejler.
Nej - jeg er ikke sikker på at det skal være QueryString. Du har ikke rigtigt skrevet noget om hvor de kommer fra.
Med formularen på den side du henviser til, skal det være Request.Form. Request.QueryString er til links med side.asp?a=213 eller formularer hvor method=get, mens Request.Form er til formularer med method=post.
ADODB.Field (0x800A0BCD) Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den anmodede handling kræver en aktuel post. /pernille/admin_selog1.asp, line 227
Umiddelbart: du skal altid kontrollere om du har data inden du udskriver fra et recordset. Men normalt vil man bruge noget lignende:
rsresultat.open if not rsresultat.eof then lav en hel masse med rsresultat som fx response.write rsresultat.felt end if rsresultat.close
eller
rsresultat.open do while not rsresultat.eof lav en hel masse med rsresultat som fx response.write rsresultat.felt rsresultat.movenext loop rsresultat.close
Så hvis du ikke har mere end den kode du viser, så: <% if not rsresultat.EOF then Response.Write "<p>" & rsresultat.Fields.Item("tekst").Value & "</p>" end if
If rsresultat.EOF Then %><p>Vælg herover</p><% End If ' end rsresultat.EOF %>
Du bør ikke kontrollere på rsresultat.EOF AND rsresultat.BOF, men bruge de enkelte i hver sin situation. rsresultat.EOF benyttes hvor man arbejder sig fremad i et recordset (som fx når man lige har åbnet et recordset og efter rsresultat.movenext). rsresultat.BOF benyttes hvor man arbejder sig bagud i et recordset (rsresultat.MovePrevious).
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.