08. februar 2005 - 23:32Der 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 = )'.
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"
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")
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
WHERE skulle se således ud: WHERE (BoligId =" & vest("BoligId") & ")"
Synes godt om
Ny brugerNybegynder
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.