Toon posts:

[SQL/ASP] optellen van waarden

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

Verwijderd

Topicstarter
Hopelijk een vraag van hoger niveau nu: Ik probeer een veld te updaten met de som van twee waarden uit een form, en een ander veld met de som van een waarde uit een form en "1". Hiertoe gebruik ik het volgende SQL statement:

code:
1
2
3
UPDATE ond_01 
SET Stem_totaal = (varTotaal varStem), Stem_aantal = (1 varAantal) 
WHERE ID = varID



In VBSCRIPT is dat hetvolgende, volgens dreamweaver

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<%
set update_stem = Server.CreateObject("ADODB.Command")
update_stem.ActiveConnection = MM_connOnd_STRING
update_stem.CommandText = "UPDATE ond_01  SET Stem_totaal =
    (" + Replace(update_stem__varTotaal, "'", "''") + " " + Replace
    (update_stem__varStem, "'", "''") + "), Stem_aantal = (1 " + Replace
    (update_stem__varAantal, "'", "''") + ")  WHERE ID = 
    " + Replace(update_stem__varID, "'", "''") + " "
update_stem.CommandType = 1
update_stem.CommandTimeout = 0
update_stem.Prepared = true
update_stem.Execute()
%>


Echter bij testen geeft het de volgende error:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '( )'.
edit:
Nu wat spaties weggehaald achter de = tekens. De Foutmelding is nu:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '(19+cijfer 10)'.
Dit lijkt er meer op. 19 is de waarde van de eerste variable en 10 van de tweede. Nu nog ff uitzoeken waar "cijfer vandaan komt...

edit2: cijfer is de naam van de "Select" waar hij de waarde uit moet ophalen... maar waarom haalt die niet alleen de "value" op, maar wel "name value". [/hardopdenkmodus]

[ Voor 101% gewijzigd door Verwijderd op 14-06-2003 17:24 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<%
set update_stem = Server.CreateObject("ADODB.Command")
update_stem.ActiveConnection = MM_connOnd_STRING
update_stem.CommandText = "UPDATE ond_01  SET Stem_totaal =
    (" + Replace(update_stem__varTotaal, "'", "''") + " " + Replace
    (update_stem__varStem, "'", "''") + "), Stem_aantal = (1 " + Replace
    (update_stem__varAantal, "'", "''") + ")  WHERE ID = 
    " + Replace(update_stem__varID, "'", "''") + " "
update_stem.CommandType = 1
update_stem.CommandTimeout = 0
update_stem.Prepared = true
update_stem.Execute()
%>

Vervang deze eens door:
ASP:
1
2
3
4
5
6
7
8
<%
Response.Write "UPDATE ond_01  SET Stem_totaal
    (" + Replace(update_stem__varTotaal, "'", "''") + " " + Replace
    (update_stem__varStem, "'", "''") + "), Stem_aantal = (1 " + Replace
    (update_stem__varAantal, "'", "''") + ")  WHERE ID = 
    " + Replace(update_stem__varID, "'", "''") + " "
Response.End
%>

En dan mag je zelf de enters wegdenken.. ;)

Tip 2: In ASP gebruik je nu in je code allemaal plusjes.. Ik neem aan dat je geen strings bij elkaar wil optellen; gebruik daarom &
ASP:
1
Response.Write "Dit is " & "melp"

[ Voor 57% gewijzigd door gorgi_19 op 14-06-2003 17:31 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19, je bent mijn held. Moet allemaal nog gaan werken, maar dat neem ik maar aan van wel. Ga het nu proberen. Waar kan ik op je stemmen?

Welke vierkante haakjes gebruik je voor de genummerde regels? Die zag ik nergens bijstaan.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 14 June 2003 @ 17:43:
gorgi_19, je bent mijn held. Moet allemaal nog gaan werken, maar dat neem ik maar aan van wel. Ga het nu proberen. Waar kan ik op je stemmen?

Welke vierkante haakjes gebruik je voor de genummerde regels? Die zag ik nergens bijstaan.
Nope, het werkt niet..
Je krijgt een cursus debuggen... :P

Wil je weten wat er fout is, moet je eerst nl het SQL statement op het scherm toveren (deze miste ik in je openingspost). Daar is dit de code voor. :)

[ Voor 17% gewijzigd door gorgi_19 op 14-06-2003 17:45 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo