Avatar billede runberg Nybegynder
12. juli 2001 - 16:53 Der er 9 kommentarer og
2 løsninger

Kun én post i recordset

Hejsa

Jeg har i ASP lavet en SQL-sætning som henter én post. Det vil sige at jeg er sikker på at jeg kun har én post i mit recordset.
Hvordan får jeg skrevet den ud, uden at skulle lave en løkke der løber recordsettet igennem. Hvis jeg barer skriver
Response.Write rs(\"Postnavn\")
får jeg en fejlmeddelelse
Avatar billede -mascot- Nybegynder
12. juli 2001 - 16:54 #1
koden ?
Avatar billede runberg Nybegynder
12. juli 2001 - 16:57 #2
<html>
<head>

<%
strBynavn = Request.Form(\"ByValg\")

Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)};\"
DSN = DSN & \"DBQ=\" & Server.MapPath(\"database.mdb\")
Conn.Open DSN

strSQL = \"Select * from byTabel where byTabel.byNavn = \" & strBynavn

Set rs = Conn.Execute(strSQL)

%>

<title><%=strBynavn%></title>

</head>

<body bgcolor=\"#006600\" text=\"#000000\" link=\"#000000\" vlink=\"#000000\" alink=\"#000000\">

<p><b><%Response.Write rs(\"Postnavn\")%></b></p>

.......

....
...
Dette er hvad jeg har skrevet, men jeg får en fejlmeddelelse
Avatar billede -mascot- Nybegynder
12. juli 2001 - 16:59 #3
hvad er fejlmeddelsen ?
Avatar billede -mascot- Nybegynder
12. juli 2001 - 17:00 #4
jeg ved det godt nu prøv at skifte den her linje:
strSQL = \"Select * from byTabel where byTabel.byNavn = \" & strBynavn
til:
strSQL = \"Select * from byTabel where byTabel.byNavn = \'\" & strBynavn & \"\'\"
Avatar billede -mascot- Nybegynder
12. juli 2001 - 17:01 #5
hmm...er det access der har lavet den SQL ?
Avatar billede kornfreak Nybegynder
12. juli 2001 - 17:01 #6
strSQL = \"select top 1 * from ByTabel where ByTabel.Bynavn = \'\" & strByNavn & \"\'\"
Set Rs = Conn.Execute(strSQL)

If Rs.Eof = True Then
  Response.Write(\"Recordsetttet er tomt\")
Else
  Response.Write(Rs(\"PostNavn\")
End If
Avatar billede runberg Nybegynder
12. juli 2001 - 17:01 #7
HTTP 500,100 - Intern fejl på serveren - ASP-fejl -
Internet Information Services

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.
findBy.asp, line 20

Linietallet passer ikke da jeg har forkortet koden!!!
Avatar billede -mascot- Nybegynder
12. juli 2001 - 17:01 #8
nej SQL linjen skal se sådan her ud:
strSQL = \"Select * from byTabel where byNavn = \'\" & strBynavn & \"\'\"
Avatar billede runberg Nybegynder
12. juli 2001 - 17:07 #9
OK - Tak for hjælpen

Fejlen var SQL-sætningen... Der skulle klamme omkring strBynavn ( \'strBynavn\' )

I får dog lov til at dele pointene, da den måde kornfreak beskriver nok er den mest korrekte måde at gøre det på, da man således kan sikre sig mod uventede fejl i databasen!!!
Avatar billede kornfreak Nybegynder
12. juli 2001 - 17:08 #10
:)
Avatar billede -mascot- Nybegynder
12. juli 2001 - 17:52 #11
tak tak...
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