[asp/sql] sqlString fout?

Pagina: 1
Acties:
  • 121 views sinds 30-01-2008
  • Reageer

  • huistra
  • Registratie: April 2001
  • Laatst online: 08-05-2024
Ik probeer de volgende string uit te voeren:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<%
  'Open de recordset
  sqlString = "UPDATE Consumpties SET naam='"&naam&"', bontekst='"&bontekst&"', verkoopprijs='"&verkoopprijs&"', verkoopprijsk1='"&verkoopprijsk1&"', verkoopprijsk2='"&verkoopprijsk2&"', verkoopprijsk3='"&verkoopprijsk3&"', catid="&categorie&", knoptekst='"&knoptekst&"', btw="&btw&""
  IF plu <> "" THEN 
    sqlString  = sqlString & ",plu="&plu&""
  END IF
  IF style <> "" THEN 
    sqlString  = sqlString & ",style='"&style&"'"
  END IF
  IF boekhoudcat <> "" THEN
    sqlString  = sqlString & ",boekhoudcat="&boekhoudcat&""
  END IF
  sqlString = sqlString & " WHERE cid="&cid 
  'response.write sqlString
  Con.Execute sqlString
  END IF

Ik krijg hierbij de volgende foutmelding:
code:
1
2
3
4
5
Microsoft JET Database Engine fout '80040e14' 

Syntax error in string in query expression 'cid ="10'. 

/iisadmin/testweb/rumba/consumptie/wijzig_consumptie.asp, regel 589

Die regel is de regel waar hij zou worden uitgevoerd, ik zie echter niet goed in wat er fout gaat :'(

Misschien dat iemand kan helpen?

Verwijderd

hangt een beetje van het datatype van cid af, als het een string is moet er nog een " achter die 10, als het een numeriek iets is moet die " voor die 10 pleitos.

Verwijderd

Op zondag 13 januari 2002 14:43 schreef Yarvieh het volgende:
hangt een beetje van het datatype van cid af, als het een string is moet er nog een " achter die 10, als het een numeriek iets is moet die " voor die 10 pleitos.
nee, die " is al een sluitquote.

Als cid niet numeriek zou zijn met je er ' omzetten.
code:
1
  sqlString = sqlString & " WHERE cid='"&cid & "'"

wat geeft de geoutputte sqlstring?

  • huistra
  • Registratie: April 2001
  • Laatst online: 08-05-2024
Op zondag 13 januari 2002 14:43 schreef Yarvieh het volgende:
..als het een numeriek iets is moet die " voor die 10 pleitos.
edit:
hier stonden onzinnige woorden

  • huistra
  • Registratie: April 2001
  • Laatst online: 08-05-2024
geoutputte string:
code:
1
UPDATE Consumpties SET naam='dropshot', bontekst='dropshot', verkoopprijs='5', verkoopprijsk1='5', verkoopprijsk2='5', verkoopprijsk3='5', catid=10, knoptekst='dropshot', btw=19,plu=0,style='background-color: #27A921;',boekhoudcat=0 WHERE cid="10

  • ThePriest
  • Registratie: Mei 2000
  • Laatst online: 30-01-2024

ThePriest

the one, the only

" WHERE cid="&cid

Dat ziet er gek uit, toch? Aan 't einde...

Verwijderd

Ik weet de oorsprong van je cid variable niet, zit je niet wat creatief te knippen en plakken met strings? het lijkt mij dat cid letterlijk "10 bevat, goed 't is wel weg te poetsen met cid = mid$(cid,2) maar de oorsprong van die " achterhalen is natuurlijk veel intresanter :)

  • huistra
  • Registratie: April 2001
  • Laatst online: 08-05-2024
Op zondag 13 januari 2002 14:52 schreef Yarvieh het volgende:
Ik weet de oorsprong van je cid variable niet, zit je niet wat creatief te knippen en plakken met strings? het lijkt mij dat cid letterlijk "10 bevat, goed 't is wel weg te poetsen met cid = mid$(cid,2) maar de oorsprong van die " achterhalen is natuurlijk veel intresanter :)
Dat is volgens mij het geval, want als ik er een
code:
1
Response.write cid

ingooi, krijg ik idd "10

* huistra daalt langzaam af in de diepere lagen van zijn foutmeldingen

  • huistra
  • Registratie: April 2001
  • Laatst online: 08-05-2024
en ja, dat was idd de boosdoener, ergens werd een " aan de string geplakt.
En ik kon al niet zien waar die " vandaan moest komen, thanx guys..
Pagina: 1