Avatar billede pretsmann Nybegynder
08. februar 2005 - 23:32 Der er 10 kommentarer og
1 løsning

sql sætning fejler

Er her en som kan se hvorfor denne fejler??

sql = "SELECT annoncer.type AS typeID, kategori.beskrivelse AS typeNavn FROM annoncer INNER JOIN kategori ON annoncer.type = kategori.id WHERE (annoncer.boligid = " & Request("Id") & ")"
                        Set rs2 = Conn.Execute(sql)
                        If Not (rs2.BOF Or rs2.EOF) Then
                            Do While Not rs2.EOF
                            strtypeNavn = rs2("typeNavn")
                            strtypeID = rs2("typeID")
                                rs2.MoveNext
                            Loop
                        End If

fejlen er:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Extra ) in query expression '(annoncer.boligid = )'.

/index.asp, line 108

line 108 = Set rs2 = Conn.Execute(sql)
Avatar billede hmortensen Nybegynder
08. februar 2005 - 23:34 #1
Det skal nok være Request.Querystring("Id")

Din er at der ingen værdi står efter =
Avatar billede eagleeye Praktikant
08. februar 2005 - 23:34 #2
Det betyder du ikke får overført et ID til siden. Tjek at linket til din har et ID efter filnavnet:  fil.asp?id=xxx
Avatar billede pretsmann Nybegynder
08. februar 2005 - 23:44 #3
der bliver ikke linket til denne side andre steder fra (dette er forsiden)

der skal bare vise det type navn der hører til den rette boligid
Avatar billede eagleeye Praktikant
08. februar 2005 - 23:47 #4
ok, men et hvor kommer det rette boligid så fra?
Avatar billede pretsmann Nybegynder
08. februar 2005 - 23:53 #5
haha øh ja...

men hvis man fjerner WHERE så vises der blot den første post og ikke den som er = talværdien ???
Avatar billede eagleeye Praktikant
08. februar 2005 - 23:53 #6
Enten skal SQL sætningen laves så den henter alle boligid'er ud. Eller altid henter en bestemt boligid, eller henter et boligid valgt via en variable.

Som din SQL sætning er lige henter du et boligid hvor ID skal være angivet i adressen til siden. Er det hoved siden er det nok næppe sansynligt du har et ID i linket.

Vil du hente alle boligid'er fjerne du WHERE delen i din SQL sætning:
sql = "SELECT annoncer.type AS typeID, kategori.beskrivelse AS typeNavn FROM annoncer INNER JOIN kategori ON annoncer.type = kategori.id"
Avatar billede eagleeye Praktikant
08. februar 2005 - 23:54 #7
>> men hvis man fjerner WHERE så vises der blot den første post og ikke den som er = talværdien ???
Korrekt. Men talværdien skal jo komme et sted fra.
Avatar billede pretsmann Nybegynder
08. februar 2005 - 23:59 #8
men kan man ikke lave det således at der vises det navn som er = den talværdi som står i db'en
Avatar billede eagleeye Praktikant
09. februar 2005 - 00:04 #9
Jeg er ikke helt sikker på jeg forstår det sidste du skrev.
Du kan lave SQL sætningen så den også har boligid med i SELECT delen er det det du tænker på?

sql = "SELECT annoncer.boligid, annoncer.type AS typeID, kategori.beskrivelse AS typeNavn FROM annoncer INNER JOIN kategori ON annoncer.type = kategori.id"


Så du har den tilhørne boligid og kan hente den inde i loopet med:
strboligID = rs2("boligid")
Avatar billede pretsmann Nybegynder
09. februar 2005 - 00:42 #10
Ja men det typeNavn der vises på siden er altid den første post i db'en...

Jeg har en tabel hvor med bl.a. felterne boligid, type m.v. er - Hvis type er = eksempelvis 20 skal der vises kategori.beskrivelse der er = 20

Jeg bruger denne et andet sted på mine sider hvor det virker (men der blir boligid og requested fra link)
sql = "SELECT annoncer.type AS typeID, kategori.beskrivelse AS typeNavn FROM annoncer INNER JOIN kategori ON annoncer.type = kategori.id WHERE (annoncer.boligid = " & Request("Id") & ")"
                        Set rs2 = Conn.Execute(sql)
                        If Not (rs2.BOF Or rs2.EOF) Then
                            Do While Not rs2.EOF
                            strtypeNavn = rs2("typeNavn")
                            strtypeID = rs2("typeID")
                                rs2.MoveNext
                            Loop
                        End If
Avatar billede pretsmann Nybegynder
10. februar 2005 - 15:22 #11
ok har fundet ud af det....

WHERE skulle se således ud:
WHERE (BoligId =" & vest("BoligId") & ")"
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