22. august 2003 - 09:58Der er
16 kommentarer og 3 løsninger
Queryfejl eller ASP-fejl?
Hej!
Følgende kode: strSQL = "Select * FROM Kursist, Praktik, Praktikskift, Virksomhed WHERE Kursist.Navn = '" & strTekst & "' AND Kursist.KursistID = Praktikskift.KursistID AND Praktikskift.PraktikID = Praktik.PraktikID AND Virksomhed.VirksomhedsID = Praktik.VirksomhedsID" ' Udfør forespørgsel (rs indeholder nu resultatet) Set rs = Conn.Execute(strSQL)
' Fortsæt indtil rs er gennemløbet (EOF = End Of File) Loop While Not rs.EOF
Giver følgende fejl Error Type: ADODB.Recordset (0x800A0CC1) Item cannot be found in the collection corresponding to the requested name or ordinal. /kursusweb/soeg.asp, line 23
Linje 23 er den første jeg har cut'n'pastet...
Men jeg kan ikke rigtig finde ud af hvad det er jeg har gjort galt...
strTekst er sat til en streng der står i databasen så det kan ikke være det...
Check lige at du har stavet alt korrekt, fejlen betyder at du forespørger på en tabel der ikke findes i databasen, plejer at typisk at være en stavefejl.
Du skal ikke proppe tabelnavnet forrest. Det hedder rs("praktikontaktpers") hvis du har sammenfaldende navne bliver du nødt til at omdøbe et par af kolonnerne f.eks.
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 11. /kursusweb/soeg.asp, line 20 (som nu er "Set rs = Conn.Execute(strSQL)")
strSQL = "Select KuristsID as kid, Kursist.Navn as knavn, Kursist.Adresse as kadr, Kursist.Postnummer as kpnr, Praktik.KursistID as pkid, Praktik.PraktikID as ppid, Praktik.Kontaktpers as pkp, Praktikskift.Praktikid as pspid, Praktikskift.VirksomhedsID as pvid, Virksomhed.VirksomhedsID as vid, Virksomhed.Navn as vnavn, Virksomhed.Adresse as vadr, Virksomhed.PostNummer as vpnr FROM Kursist, Praktik, Praktikskift, Virksomhed WHERE knavn = '" & strTekst & "' AND kid = pkid AND ppid = pid AND vid = pvid"
' Udfør forespørgsel (rs indeholder nu resultatet) Set rs = Conn.Execute(strSQL) ' linje 20
strSQL = "Select KuristsID as kid, Kursist.Navn as knavn, Kursist.Adresse as kadr, Kursist.Postnummer as kpnr, Praktik.KursistID as pkid, Praktik.PraktikID as ppid, Praktik.Kontaktpers as pkp, Praktikskift.Praktikid as pspid, Praktikskift.VirksomhedsID as pvid, Virksomhed.VirksomhedsID as vid, Virksomhed.Navn as vnavn, Virksomhed.Adresse as vadr, Virksomhed.PostNummer as vpnr FROM Kursist, Praktik, Praktikskift, Virksomhed WHERE Kursist.Navn = '" & strTekst & "' AND kid = pkid AND ppid = pid AND vid = pvid"
strSQL = "Select Kursist.KuristsID as kid, Kursist.Navn as knavn, Kursist.Adresse as kadr, Kursist.Postnummer as kpnr, Praktik.KursistID as pkid, Praktik.PraktikID as ppid, Praktik.Kontaktpers as pkp, Praktikskift.Praktikid as pspid, Praktikskift.VirksomhedsID as pvid, Virksomhed.VirksomhedsID as vid, Virksomhed.Navn as vnavn, Virksomhed.Adresse as vadr, Virksomhed.PostNummer as vpnr FROM Kursist, Praktik, Praktikskift, Virksomhed WHERE Kursist.Navn = '" & strTekst & "' AND Kursist.KuristsID = pkid AND Praktik.KursistID = Praktik.PraktikID AND Virksomhed.VirksomhedsID = Praktikskift.VirksomhedsID"
Prøv lige og udskriv din strSQL med response.write strSQL og udkommentér din set rs = conn.execute(strSQL) så er det altså nemmere at se hvor det evt. går galt.
Select Kursist.KursistID as kid, Kursist.Navn as knavn, Kursist.Adresse as kadr, Kursist.PostNummer as kpnr, Praktik.KursistID as pkid, Praktik.PraktikID as ppid, Praktik.Kontaktpers as pkp, Praktikskift.PraktikID as pspid, Praktikskift.VirksomhedsID as pvid, Virksomhed.VirksomhedsID as vid, Virksomhed.Navn as vnavn, Virksomhed.Adresse as vadr, Virksomhed.PostNummer as vpnr FROM Kursist, Praktik, Praktikskift, Virksomhed WHERE knavn = '" & strTekst & "' AND kid = pkid AND ppid = pid AND vid = pvid
Hvis det er udskriften af din strSQL, så er der da vist noget galt, b.la. bør "WHERE knavn = '" & strTekst & "' AND ..." da ikke udskrive '" & strTekst & "' men derimod indholdet af strTekst og det er nok derfor du får fejl, den mangler en parameter at lave udtrækket ud fra.
den ser sådan her ud: Select Kursist.KursistID as kid, Kursist.Navn as knavn, Kursist.Adresse as kadr, Kursist.PostNummer as kpnr, Praktik.KursistID as pkid, Praktik.PraktikID as ppid, Praktik.Kontaktpers as pkp, Praktikskift.PraktikID as pspid, Praktikskift.VirksomhedsID as pvid, Virksomhed.VirksomhedsID as vid, Virksomhed.Navn as vnavn, Virksomhed.Adresse as vadr, Virksomhed.PostNummer as vpnr FROM Kursist, Praktik, Praktikskift, Virksomhed WHERE knavn = 'Kim Thorhøj' AND kid = pkid AND ppid = pid AND vid = pvid
Er der ikke også noget galt med: = 'Kim Thorhøj' AND kid = pkid AND ppid = pid AND vid = pvid mangler der ikke nogle værdier for pkid, pid og pvid eller er det mig der ikke kan følge med mere ? :o)
jamen jeg mener bare, at når du udskriver din strSQL, så bør disse værdier indeholde nogle data ligesom du nu har knavn = 'Kim Thorhøj' ?
/Goose
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.