Toon posts:

[ASP] sql query niet goed*

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit nu al 1 uur te klooien met de volgende query en de search levert me niks op:

code:
1
 "INSERT INTO tblForum(ForPlaatje)  VALUES  ('"&Request("avater")&"')" & "WHERE ForStudent = '"&Session("gebruikersnaam")&"'"


ik krijg dan deze fout:

Missing semicolon (;) at end of SQL statement.

Als ik dan vervolgens een semicolon erachter zet geeft hij deze fout:

Expected end of statement
"INSERT INTO tblForum(ForPlaatje) VALUES ('"&Request("avater")&"')" & "WHERE ForStudent = '"&Session("gebruikersnaam")&"'";

De database is een access database en de verdere pagina is asp
Ik heb al vanalles geprobeerd, het hierboven geplaatste voorbeeld is dus een van de vele probeersels, ik heb elke komma wel op bijna elke plek gehad....

Zonder dat WHERE gedeelte doet de query het wel dus het probleem zit hem daarin, de namen kloppen verder allemaal.

De "basis" van asp en sql moeten we leren voor school al geven ze geen regels voor het maken van sql querys, weet iemand soms een link naar een site waar het uitgelegd word?

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
echo je query eens en post dat hier, waarschijnlijk staat een quote niet goed, zit er een illegal char in je variabele of is hij leeg.

edit:
Voor sites met uitleg over SQL en tutorials moet je even in de FAQ kijken: Welkom in P&W (FAQ-28/11/2002)

[ Voor 36% gewijzigd door Glimi op 10-12-2002 18:01 ]


Verwijderd

Topicstarter
sorry maar wat bedoel je met echo?

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Verwijderd schreef op 10 December 2002 @ 18:03:
sorry maar wat bedoel je met echo?

Met echo bedoel ik naar het scherm of anderzijds weergeven van de SQL query.
Jij hebt hem nu als programmacode staan, maar tijdens het draaien van het programma worden de variabelen ingevuld. De string die dat oplevert is veel duidelijker om daar fouten in te zoeken.

Maar nog een dringende tip: Ga eerst eens goed op zoek met google, of blader door de FAQ van P&W, naar tutorials van VB of SQL, want anders is alles wat ik zeg (en anderen proberen uit te leggen) abracadabra voor je :)

Succes.

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 vraagt zich af of dit niet stiekem ASP (VBScript) is en je met Response.Write de query op het scherm kan toveren.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

"INSERT INTO tblForum(ForPlaatje) VALUES ('"&Request("avater")&"')" & "WHERE ForStudent = '"&Session("gebruikersnaam")&"'"

volgens mij moet het vette alleen een spatie zijn zonder &, maar mocht het iets zijn om je regel op de volgende regel te laten beginnen, dan moet het &_ worden.

GL

  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 27-05 21:11

CmdrKeen

Krentenboltosti

Als je bv. hebt staan: kweerie = "INSERT INTO " enz., dan doe je daarna, vóór de executie van je code:
response.write(kweerie)
response.end
Dan zie je welke query je gemaakt hebt.

Goeie site voor SQL te leren: www.w3schools.com.

Bloed, zweet & koffie


  • fatbenny
  • Registratie: April 2001
  • Laatst online: 07-03-2023
Dim vAvater
Dim vGebruikersnaam

vAvater = Request("Avater")
vGebruikersnaam = Session("Gebruikersnaam")

"INSERT INTO tblForum(ForPlaatje) VALUES ('" & vAvater & "') WHERE ForStudent = ('" & vGebruikersnaam & "')"

of zoiets

"INSERT INTO tblForum (ForPlaatje) values('" & vAvater & "')" WHERE ForStudent = ('" & vGebruikersnaam & "')"

zoiets?

INSERT INTO statement
http://www.devguru.com/Te...quickref/insert_into.html

  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

Verwijderd schreef op 10 december 2002 @ 18:14:
"INSERT INTO tblForum(ForPlaatje) VALUES ('"&Request("avater")&"')" & "WHERE ForStudent = '"&Session("gebruikersnaam")&"'"

volgens mij moet het vette alleen een spatie zijn zonder &, maar mocht het iets zijn om je regel op de volgende regel te laten beginnen, dan moet het &_ worden.

GL
Volgens mij is de constructie goed - maar een extra spatie na het haakje/voor de where zou wel eens heel hard nodig kunnen zijn:
...avater")&"')x" & "xWHERE...
...waar de spaties geplaatst kunnen worden staan vette kruisjes. Het correcte Engelse woord is trouwens "avatar" :)

[edit:]
Supervisor heeft gelijk |:( hoe kan ik eroverheen kijken ;)

[ Voor 20% gewijzigd door Rataplan op 10-12-2002 19:26 ]


Journalism is printing what someone else does not want printed; everything else is public relations.


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Hoe kun je nu een INSERT query gebruiken met een WHERE?

Leg eens uit wat je precies wil dan.
Aan een INSERT kun je toch geen voorwaarde meegeven?

Verwijderd

Topicstarter
echo code: INSERT INTO tblForum(ForPlaatje) VALUES ('dssdfdfd') WHERE ForStudent = 'Marty'

Ik heb nu dezelfde code gebruikt maar dan zonder die " & " zoals iruoy al zei, ik krijg nu weer de melding dat ik die semicolon erachter moet doen maar dat hoeft toch niet in SQL?(en werkt ook niet)
Maar nog een dringende tip: Ga eerst eens goed op zoek met google, of blader door de FAQ van P&W, naar tutorials van VB of SQL, want anders is alles wat ik zeg (en anderen proberen uit te leggen) abracadabra voor je
weet je wat bij mij het probleem is, dit komt in een forum, ik heb z'n beetje het hele forum nu af in (+- 1 week maar het is mijn eerste forum dus heb er ff de tijd voor nodig :))
Ik weet dus wel hoe asp/vbscript werkt, alleen die querys gaan steeds fout, op w3schools staan ze allemaal zonder die komma's en dubbel komma's en dat werkt dus niet omdat ik dat wel moet gebruiken hier :(

voor het forum:
g3.p1.ica.han.nl/dynamisch

Verwijderd

Topicstarter
volgens mij moet insert into en where wel kunnen hoor, heb het verschillende keren zien staan

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Maar je hebt toch geen where nodig voor een insert :? Aan welke conditie moet ie voldoen dan? Je maakt jah geen select query waarvan je zegt:"Ik wil alleen dit en dat terug hebben."

Maar als je iets probeerd te updaten moet je geen insert meer gebruiken, maar 'Update'

  • 418O2
  • Registratie: November 2001
  • Niet online

418O2

u mad?

Verwijderd schreef op 10 December 2002 @ 17:54:
code:
1
 "INSERT INTO tblForum(ForPlaatje)  VALUES  ('"&Request("avater")&"')" & "WHERE ForStudent = '"&Session("gebruikersnaam")&"'"
code:
1
 "INSERT INTO tblForum(ForPlaatje)  VALUES  ('" & Request("avater") & "') WHERE ForStudent = " & Session("gebruikersnaam")

[/quote]
zou wel meer in de richting komen

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Maar leg nu eens uit wat je wilt doen.
Je wilt een record toevoegen aan de tabel tblForum.

Daar kan toch geen voorwaarde aan vast zitten?
Je voert toch gewoon gegevens in?

Dus je moet de WHERE gewoon weglaten.

Verwijderd

Topicstarter
Wat de bedoeling is is dat de mensen een avatAr :) kunnen toevoegen aan de zijkant van hun bericht, deze kunnen ze kiezen dmv een text boxje waarin ze hun link willen zetten. als ze dan op submit drukken dan moet er overal in de tabel die link komen te staan mits de sessie naam en de naam in de tabel overeenkomen, dit behoort volgens mij op deze manier wel te werken maar misschien is het beter als ik van de INSERT INTO een UPDATE maak, maar eerst moet deze gaan werken :(

ik heb het op de manier van Catch22 geprobeerd en hij gaf nog steeds die semicolon aan, maar kan iemand me uitleggen waarom er bij session geen '"& gebruikt hoeft te worden?

INSERT INTO tblForum(ForPlaatje) VALUES ('df') WHERE ForStudent = Marty
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Missing semicolon (;) at end of SQL statement.

/dynamisch/forum/avatertoevoegen.asp, line 17

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Nee je moet het nu niet eerst met INSERT gaan proberen als je dat niet nodig bent, maar meteen met update. Nu zoek je een fout in een fout. Dat moet je natuurlijk nooit doen.

En hierboven mis je de ' om de naam Marty heen. En ja gaat toch ook geen where uitvoeren op de gebruiksersnaam, maar dat moet je eigenlijk op zijn UserId doen. Ik neem aan dat je dat hebt tenminste.

Verwijderd

Topicstarter
Dus wat ik nu probeer gaat helemaal nooit werken omdat het simpel weg gewoon nie kan, sjonge :(

Userid zit er niet in volgens mij omdat die eigenlijk dan bij het registreren voor de site zelf moet worden aangemaakt maar dat is het werk van iemand anders en die heeft dat niet ingevoegd, wel bestaat er een studentnummer maar dat kan alleen gebruikt worden bij studenten die daadwerkelijk op deze school zitten.

Waarom is username dan niet goed?

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Je moet dan geen INSERT query gebruiken, maar een UPDATE query.

code:
1
2
3
strSQL = "UPDATE tblForum " _
           & "SET ForPlaatje = '" & Request("avater") & "' " _
           & "WHERE ForStudent = '" & Session("gebruikersnaam") & "'"


Of is het zo dat je bij het posten van een nieuw bericht ook tegelijkertijd een avator kunnen aanmaken?
Dan moet je 2 query's gebruiken, een INSERT en een UPDATE
code:
1
2
3
4
strSQL = "INSERT INTO tblForum (Bericht, ForPlaatje, ForStudent) " _
           & "VALUES ('" & Request("bericht") & "', " _
           & "'" & Request("avater") & "', " _
           & "'" & Session("gebruikersnaam") & "')"

en vervolgens
code:
1
2
3
strSQL = "UPDATE tblForum " _
           & "SET ForPlaatje = '" & Request("avater") & "' " _
           & "WHERE ForStudent = '" & Session("gebruikersnaam") & "'"

Verwijderd

Topicstarter
het is een avatar die je gewoon 1 keer maakt en dan bij alle berichten, ook al bestaande berichten, weergegeven wordt. vergelijk het maar met dit forum

Verwijderd

Topicstarter
OMG hij werkt op de manier van robjanssen thnx,

kan iemand mij uitleggen waarom er in die query van hem zo vaak & en " wordt gebruikt en waarom dat bijvoorbeeld in een INSERT INTO query niet hoeft? Moet dat na elke opdracht andere ofzo?

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 10 December 2002 @ 20:00:
OMG hij werkt op de manier van robjanssen thnx,

kan iemand mij uitleggen waarom er in die query van hem zo vaak & en " wordt gebruikt en waarom dat bijvoorbeeld in een INSERT INTO query niet hoeft? Moet dat na elke opdracht andere ofzo?
Dat zijn typische VBScripts koppelingen. Door middel van ASP wil hij een query genereren. Deze query bevat een aantal dynamische elementen. Deze elementen worden gegenereerd door ASP.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Laat maar.............

[ Voor 91% gewijzigd door Phenomenon op 10-12-2002 20:04 ]


Verwijderd

Topicstarter
naja zal wel, iedereen bedankt voor de snelle replys :D

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

& tekens worden gebruikt om teksten aan elkaar te koppelen.
Als voor de duidelijkheid de teskt over meerdere regels wilt spreiden moet je ook & tekens gebruiken icm een _
Pagina: 1