Vraag & Antwoord

Programmeren

Problemen met Query in ASP

15 antwoorden
  • 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)
  • Moet het niet : strSQL = "SELECT rubriek FROM adds WHERE rubriek=" & "'" & strrubriek & "'" zijn ? Dus een string waarde.
  • [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?
  • 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="[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!!
  • [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.
  • Ik had de query al naar mijn scherm geschreven en daar gaf hij aan dat de query goed in elkaar zat incl. variable. Ik dacht dus bij mezelf: "dat moet goed zijn" Access had ik nog niet geprobeerd.
  • [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
  • [quote:e19e475351="[DarthV]"] Kortom de taal is aardig vrij in weergave (wat ik dus bedoelde). [/quote:e19e475351] juist, "typeless" bedoelde je dus :) typeloos (in correct nederlands(?))
  • [off topic] [quote:dcdbcd387a="Queued"]Data Source=d:\www\blaat.com\database\db.mdb" [/quote:dcdbcd387a] Vevida klant soms?? ;) :D [/off topic]
  • [quote:3489a74115="Joost Huizinga"][off topic] [quote:3489a74115="Queued"]Data Source=d:\www\blaat.com\database\db.mdb" [/quote:3489a74115] Vevida klant soms?? ;) :D [/off topic][/quote:3489a74115] Dat je aan de plek van mijn DB al kan zien waar ik zit..... :D
  • [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 ;)..
  • [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:
  • [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.
  • Lastig he als iemand anders het antwoord al heeft gegeven 8) Sommige mensen horen zichzelf graag praten en vinden dat ze door moeten meimeren over iets onzinnigs. achja whatever .....

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.