Ga naar inhoud

Problemen met Query in ASP


anoniem

Aanbevolen berichten

Ik krijg de volgende foutmelding [code:1:32f1459a7e]Microsoft JET Database Engine error '80040e10' No value given for one or more required parameters. /ao/rubriek.asp, line 28 [/code:1:32f1459a7e] In de volgende code [code:1:32f1459a7e] Dim Datum, DBDate, strSQL, strrubriek, my_Conn, RS strrubriek = Request.QueryString("rub") Set my_Conn = Server.CreateObject( "ADODB.Connection" ) Set RS = Server.CreateObject( "ADODB.Connection" ) my_Conn.open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\www\blaat.com\database\db.mdb" strSQL = "SELECT rubriek FROM adds WHERE rubriek=" & strrubriek Set RS = my_Conn.Execute(strSQL) [/code:1:32f1459a7e] Line 28 is waar de query wordt uitgevoerd. Als ik een response.write uitvoer op zowel de strrubriek als de strSQL krijg ik de juiste waarden terug. strrubriek is dus niet leeg. De tabel 'rubriek' bestaat wel en er zitten geen typfouten in de query (10x gecontrolleerd) Van reserved words lijkt me ook geen sprake in deze query. Iemand enig idee??? (Ik denk dat ik me weer blind aan het staren ben op iets simpels)
Link naar reactie
[quote:9a26707be1="[DarthV]"]Moet het niet : strSQL = "SELECT rubriek FROM adds WHERE rubriek=" & "'" & strrubriek & "'" zijn ? Dus een string waarde.[/quote:9a26707be1] Dat is het inderdaad. Zo heb ik nog nooit een query gemaakt :-? Kan je uitleggen waarom dit wel werkt en de mijne niet? Normaal moet de mijne toch werken?
Link naar reactie
Goed het is weer even geleden dat ik iets in asp gedaan heb, maar je probleem is eigenlijk dat de query is: selecteer blah van blah waar blah = stringwaarde Stringwaarde wordt nu niet als een string gezien maar als een onbekende waarde in de query. Door er quotes omheen te zetten wordt het als een string gezien. Omdat asp zo'n vrije taal is kun je de variabele gewoon afdrukken omdat asp zelf ziet dat het een string waarde is. In een query zul je de query standaard aan moeten houden. selecteer blah van blah waar blah = 'stringwaarde'
Link naar reactie
[quote:7fa36b188b="[DarthV]"]Goed het is weer even geleden dat ik iets in asp gedaan heb, maar je probleem is eigenlijk dat de query is: selecteer blah van blah waar blah = stringwaarde Stringwaarde wordt nu niet als een string gezien maar als een onbekende waarde in de query. Door er quotes omheen te zetten wordt het als een string gezien. Omdat asp zo'n vrije taal is kun je de variabele gewoon afdrukken omdat asp zelf ziet dat het een string waarde is. In een query zul je de query standaard aan moeten houden. selecteer blah van blah waar blah = 'stringwaarde'[/quote:7fa36b188b] Aaaha... Zoals ik al zei ben ik dit nog nooit tegen gekomen. Ik ben dan ook nog niet zo heel lang bezig met asp. Hartstikke bedankt voor het meedenken / oplossen en het geven van de uitleg!!
Link naar reactie
[quote:417665a2dc="[DarthV]"]Omdat asp zo'n vrije taal is kun je de variabele gewoon afdrukken omdat asp zelf ziet dat het een string waarde is. In een query zul je de query standaard aan moeten houden. [/quote:417665a2dc] Het antwoord is uiteraard correct, er horen enkele quotes om stringwaarden in een query. Alleen is de uitleg een beetje twijfelachtig ;) Allereerst is ASP natuurlijk geen taal, maar dat terzijde. Het feit dat vbscript "vrij" is qua taal heeft natuurlijk ook geen invloed dit probleem. Het gaat er gewoon om dat na het samenvoegen van de verschillende delen in vbscript er een geldig sql statement samengesteld is. Zo simpel is het. Tip voor de topic-starter: Als je een fout krijgt op een query, schrijf deze dan eerst naar het scherm om te zien hoe deze er na invoegen van alle variabelen uitziet. Eventueel kan je deze dan ook nog kopieren en rechtstreeks uitvoeren op je database, de database geeft soms duidelijkere / volledigere info over de foutmelding dan ADO.
Link naar reactie
[quote:a2838656dc]Allereerst is ASP natuurlijk geen taal, maar dat terzijde.[/quote:a2838656dc] Tja het is maar hoe je het beestje noemt, ik vind Fries ook geen taal (het klinkt voor geen meter) maaja .... [quote:a2838656dc]Het feit dat vbscript "vrij" is qua taal heeft natuurlijk ook geen invloed dit probleem. Het gaat er gewoon om dat na het samenvoegen van de verschillende delen in vbscript er een geldig sql statement samengesteld is. Zo simpel is het. [/quote:a2838656dc] Fijn dat je mijn woorden even herhaald. Wanneer je een variabele in de asp taal ;) weergeeft maakt het niet uit wat voor type dit is een integer, string etc het maakt niet uit. Wanneer ik een string de waarde 1 geef en ik geef een integer de waarde 1 en ik druk deze allebei op het scherm af dan mag je van mij best gaan zoeken naar de verschillen. Kortom de taal is aardig vrij in weergave (wat ik dus bedoelde). Omdat je een string waarde op deze manier kunt weergeven is het verwarrend wanneer je dit ook in een SQL statement doet, omdat je daar opeens moet definieren dat het een string waarde is door er quotes omheen te zetten. Maaja sommige mensen moeten iets te zeiken hebben he .. ----------------------------------------------------- There are only two things that are infinite: the universe and human stupidity. And I'm not sure about the universe. - A. Einstein
Link naar reactie
[quote:4e6b2f1723="Queued"][quote:4e6b2f1723="Joost Huizinga"][off topic] [quote:4e6b2f1723="Queued"]Data Source=d:\www\blaat.com\database\db.mdb" [/quote:4e6b2f1723] Vevida klant soms?? ;) :D [/off topic][/quote:4e6b2f1723] Dat je aan de plek van mijn DB al kan zien waar ik zit..... :D[/quote:4e6b2f1723] Nou Vevida was de eerste provider waar ik dit pad tegenkwam.. Heb het al zo vaak gebruikt dat ik dat pad wel kan dromen. Ben zelf ook Vevida klant zoals je inmiddels wel doorhad denk ik ;)..
Link naar reactie
[quote:68c842e3d5="Joost Huizinga"][quote:68c842e3d5="Queued"][quote:68c842e3d5="Joost Huizinga"][off topic] [quote:68c842e3d5="Queued"]Data Source=d:\www\blaat.com\database\db.mdb" [/quote:68c842e3d5] Vevida klant soms?? ;) :D [/off topic][/quote:68c842e3d5] Dat je aan de plek van mijn DB al kan zien waar ik zit..... :D[/quote:68c842e3d5] Nou Vevida was de eerste provider waar ik dit pad tegenkwam.. Heb het al zo vaak gebruikt dat ik dat pad wel kan dromen. Ben zelf ook Vevida klant zoals je inmiddels wel doorhad denk ik ;)..[/quote:68c842e3d5] Beetje wel ja :wink:
Link naar reactie
[quote:624915b4f4="[DarthV]"]Tja het is maar hoe je het beestje noemt, ik vind Fries ook geen taal (het klinkt voor geen meter) maaja ....[/quote:624915b4f4] Tja, maar je maakt de fout dat Fries wel een taal is, of in ieder geval een dialect zoals jij waarschijnlijk liever zal zeggen. Terwijl ASP feitelijk een framework is waarbinnen je met verschillende talen kan werken. En dus niet eens een dialect genoemd kan worden. Als jij dat gezeik vindt, prima. ;) [quote:624915b4f4="[DarthV]"]Fijn dat je mijn woorden even herhaald. Wanneer je een variabele in de asp taal ;) weergeeft maakt het niet uit wat voor type dit is een integer, string etc het maakt niet uit. [/quote:624915b4f4] Als je goed leest wat ik schrijf dan zie je dat ik je woorden juist niet herhaal. Ik zeg namelijk duidelijk dat jouw argument over het 'vrije' van vbscript niets, maar dan ook niets te maken heeft met dit probleem. [quote:624915b4f4="[DarthV]"]Kortom de taal is aardig vrij in weergave (wat ik dus bedoelde). Omdat je een string waarde op deze manier kunt weergeven is het verwarrend wanneer je dit ook in een SQL statement doet, omdat je daar opeens moet definieren dat het een string waarde is door er quotes omheen te zetten.[/quote:624915b4f4] Ik begrijp wat je bedoelt, het slaat alleen als een tang op een varken imho ;) Elke taal heeft specificaties waar je je aan moet houden. In de taal SQL moet je (in dit geval) stringvalues omsluiten met enkel-quotes, in vbscript gebruik je dubbel-quotes, in jscript gebruik je enkel- of dubbel-quotes...enz. De een heeft niets met de ander te maken. my 2 cents.
Link naar reactie
[quote:5f22517c28="[DarthV]"]Lastig he als iemand anders het antwoord al heeft gegeven 8) [/quote:5f22517c28] Het kostte even wat moeite, maar ik heb me door deze teleurstellende ervaring heen kunnen slaan. Dank je voor het begrip. [quote:5f22517c28="[DarthV]"]Sommige mensen horen zichzelf graag praten en vinden dat ze door moeten meimeren over iets onzinnigs. achja whatever .....[/quote:5f22517c28] Wat jij als onzinnig bestempeld kan voor anderen misschien nuttige informatie zijn. Bovendien is het wel handig als de informatie die gegeven wordt ook correct is. p.s. als je een discussie aangaat met iemand kom je een stuk serieuzer over als je wat minder op de man speelt.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...