anoniem Geplaatst: 16 april 2002 Delen Geplaatst: 16 april 2002 Ik heb een bestand met bijvootbeeld 'Branches'. Dan zeg ik in een sql: [code:1:6ebf8fe2b3] Set RS = Server.CreateObject( "ADODB.RecordSet" ) RS.CursorType = adOpenStatic RS.ActiveConnection = Con RS.Open = "SELECT * FROM Vacatures WHERE Branche =" & Request.QueryString("BrancheID") Response.write "Aantal vacatures: " Response.write RS.RecordCount %> [/code:1:6ebf8fe2b3] Vervang ik nu "Branche" door het woord "wachtwoord" - uiteraard uit een andere tabel- , dan krijg ik een foutmelding dat er te weinig argumenten zijn. Ik zie de fout niet? Is wachtwoord soms een gereserveerd woord ofzo???? Quote Link naar reactie
anoniem Geplaatst: 16 april 2002 Auteur Delen Geplaatst: 16 april 2002 Ik denk dat ik het AL weer weet (sorry). Volgens mij is het zo dat als je gebruikt maakt van een Request.Query of Form string, je verplicht gebruik moet maken van de waarde van de Primekey van een tabel. Wie bevestigt dit mij? (Als iemand uberhaupt begrijpt wat ik bedoel :wink: ) Quote Link naar reactie
anoniem Geplaatst: 17 april 2002 Auteur Delen Geplaatst: 17 april 2002 1. ik begrijp geen snars van je verhaal 2. primary key en request-object zijn 2 zaken die niets, maar dan ook niets met elkaar te maken hebben (het gaat dus fout in jouw toepassing van deze zaken). :smile: Quote Link naar reactie
anoniem Geplaatst: 17 april 2002 Auteur Delen Geplaatst: 17 april 2002 Dan leg ik het toch even uit? Wanneer ik op een formulier een lijst van bijvoorbeeld "vacatures" heb en de details van die vacature wil laten zien in een vervolgformulier, dan maak ik van bijvoorbeeld 'korte omschrijving' een hyperliink. Echter, om de juiste vacature te laten zien, moet ik wel de Prime key meegeven als waarde van die vacature. [code:1:5979b89c8e]<a href="vacature.asp?VacatureID=<%=RS("ID")%>"><%=RS("KorteOmschrijving")%></a></td>[/code:1:5979b89c8e] Dus wanneer ik i.p.v. de ID de waarde van de korte omschrijving mee zou geven naar het volgende formulier, en daar de sql op zou loslaten zal de record met de juiste vacature niet gevonden worden wegens te weinig argumenten. Klopt dat? [ Dit bericht is bewerkt door: Wiep Corbier op 2002-04-17 10:06 ] Quote Link naar reactie
anoniem Geplaatst: 17 april 2002 Auteur Delen Geplaatst: 17 april 2002 Feitelijk is het simpel. Ik ben bezig met een inlogprocedure. Ik heb in een tabel het veld 'wachtwoord'. Daarin staat bijvoorbeeld "joop". in formulier A voer ik 'joop' in als zoekargument en stuur het door naar formulier B vervolgens: [code:1:2f9cbb25a9] <% Wachtoord = request.Form("Wachtwoord") <% Set RS = Server.CreateObject( "ADODB.RecordSet" ) RS.CursorType = adOpenStatic RS.ActiveConnection = Con RS.Open = "SELECT * FROM Vacatures WHERE Wachtwoord =" & Request.form("Wachtwoord") [/code:1:2f9cbb25a9] Vervolgens krijg ik de foutmelding; te weinig argumenten. Quote Link naar reactie
anoniem Geplaatst: 17 april 2002 Auteur Delen Geplaatst: 17 april 2002 Ik zal even een formulier A en een formulier B maken en de gehele code hier neerzetten inclusief de foutmelding, want ik snap er niets meer van. Vriend(in) Annie zal het vast wel weten....:wink: Quote Link naar reactie
anoniem Geplaatst: 17 april 2002 Auteur Delen Geplaatst: 17 april 2002 Ga je dan ook even de titel van dit topic uitleggen? :wink: Quote Link naar reactie
anoniem Geplaatst: 17 april 2002 Auteur Delen Geplaatst: 17 april 2002 Form A: [code:1:dea5007b0f] <html> <head> <title>InlogMenu</title> <meta http-equiv="content-style-type" content="text/css"> </head> <body> <form method="POST" action="InlogManager.asp"> <table> <tr><td><input name="Wachtwoord" size="8"></td></tr> </table> </form> </body> </html> [/code:1:dea5007b0f] Form B: [/code] <!-- #INCLUDE FILE="adovbs.inc" --> <!-- #INCLUDE FILE="jimdb.asp" --> <% Wachtwoord = Request.Form( "Wachtwoord" ) %> <html> <head> <title>LoginnaamManager</title> <link href="../wzs/wzs.css" rel="stylesheet" type="text/css"> </head> <body style="background-color: #2c4655;"> <% Set RS = Server.CreateObject( "ADODB.RecordSet" ) RS.CursorType = adOpenStatic RS.ActiveConnection = Con RS.Open = "SELECT * FROM Contactpersonen Where Wachtwoord =" & Wachtwoord [/code] Foutmelding: Technical Information (for support personnel) Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. /ji/InlogManager.asp, line 18 Browser Type: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Page: POST 13 bytes to /ji/InlogManager.asp POST Data: Wachtwoord=aa Quote Link naar reactie
anoniem Geplaatst: 17 april 2002 Auteur Delen Geplaatst: 17 april 2002 Form A: [code:1:809ebad0bd] <html> <head> <title>InlogMenu</title> <meta http-equiv="content-style-type" content="text/css"> </head> <body> <form method="POST" action="InlogManager.asp"> <table> <tr><td><input name="Wachtwoord" size="8"></td></tr> </table> </form> </body> </html> [/code:1:809ebad0bd] Form B: [code:1:809ebad0bd] <!-- #INCLUDE FILE="adovbs.inc" --> <!-- #INCLUDE FILE="jimdb.asp" --> <% Wachtwoord = Request.Form( "Wachtwoord" ) %> <html> <head> <title>LoginnaamManager</title> <link href="../wzs/wzs.css" rel="stylesheet" type="text/css"> </head> <body style="background-color: #2c4655;"> <% Set RS = Server.CreateObject( "ADODB.RecordSet" ) RS.CursorType = adOpenStatic RS.ActiveConnection = Con RS.Open = "SELECT * FROM Contactpersonen Where Wachtwoord =" & Wachtwoord [/code:1:809ebad0bd] Foutmelding: Technical Information (for support personnel) Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. /ji/InlogManager.asp, line 18 Browser Type: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Page: POST 13 bytes to /ji/InlogManager.asp POST Data: Wachtwoord=aa Quote Link naar reactie
anoniem Geplaatst: 17 april 2002 Auteur Delen Geplaatst: 17 april 2002 Bill vraagt: Ga je dan ook even de titel van dit topic uitleggen? Jawel, maar een oplettende lezer had het al begrepen a.d.h.v. de volgende zin: Is wachtwoord een gereserveerd woord? M.a.w. ik kan/kon niet verklaren waarom het veld Wachtwoord een probleem oplevert en het veld 'koekjes' bijvoorbeeld niet. Echter, had ik het veld 'koekjes' genoemd (ik begrijp de verwarring 'koekjes = cookies) maar ik had er ook 'peren' of wat dan ook neer kunnen zetten. Als iemand mij nu nog niet snapt dan ben ik gewoon te intelligent voor dit forum. :wink: Enne...., kom op met het antwoord want ik heb niet de hele dag de tijd :wink: Offe, wacht, ik heb wél de hele dag de tijd zie ik net in mijn agenda. Dat houdt overigens niet in dat jullie maar achterover kunnen leunen!! Op met het antwoord!! (geintjhu....) [ Dit bericht is bewerkt door: Wiep Corbier op 2002-04-17 11:07 ] Quote Link naar reactie
anoniem Geplaatst: 17 april 2002 Auteur Delen Geplaatst: 17 april 2002 Nu snap ik hem :smile: Ik dacht inderdaad aan cookies... Quote Link naar reactie
anoniem Geplaatst: 17 april 2002 Auteur Delen Geplaatst: 17 april 2002 ik heb het misschien helemaal fout maar zou wachtwoord niet binnen quotes moeten staan? Dus: [code:1:ecd01f3f04] RS.Open = "SELECT * FROM Contactpersonen Where Wachtwoord ='" & Wachtwoord & "'" [/code:1:ecd01f3f04] /E Quote Link naar reactie
anoniem Geplaatst: 17 april 2002 Auteur Delen Geplaatst: 17 april 2002 Ja, snotver, ik ben van mijn foutmelding af, maar het resultaat is nog niet juist. Ik snap het (nog) niet, omdat de codering zoals ik die gebruik het in andere gevallen wel doet. In ieder geval bedankt, ik kan weer verder. Quote Link naar reactie
anoniem Geplaatst: 17 april 2002 Auteur Delen Geplaatst: 17 april 2002 De uitleg is simpel en daar had je ook zelf achter kunnen komen als je onderstaande tip had geweten cq. toegepast. Als je fouten krijgt in (samengestelde) queries schrijf deze dan naar het scherm ipv ze uit te voeren. Vaak zie je dan het probleem al meteen (missing quotes, lege variabele, enz.) of je kan met een copy & paste de query rechtstreeks invoeren in je database via de tools die daarvoor bij je database zitten. In jouw geval zou je dus iets hebben gekregen als: [code:1:321a5e3a76]SELECT * FROM Contactpersonen Where Wachtwoord =joop[/code:1:321a5e3a76] En access ziet "joop" hier niet als een waarde (staat niet tussen enkele quotes), maar als een parameter die nog ingevoerd moet worden (aangezien er ook geen kolom is die joop heet). Succes verder. Quote Link naar reactie
anoniem Geplaatst: 17 april 2002 Auteur Delen Geplaatst: 17 april 2002 Tja, weet je, ik ben een periode intensief bezig geweest met ASP, en toen rammelde ik de code er zonder bij na te denken foutloos uit mijn vingers. Ík kon de foutmeldingen zelf direct verklaren en hielp iedereen die er maar om vroeg. Echter, nu ben ik enkele maandjes inactief geweest en dan geldt het gezegde 'rust roest' Maar nu heb ik weer bergen te te programmeren en zal ik het weer snel oppakken. Een ieder weer bedankt!! Mijn enthousiame is weer terug. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen