Toon posts:

[ASP & Database ] mismatch: '[string:

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi allemaal ,

Ik heb een duister probleempje, eigenlijk meer omdat ik deze fratsen niet eerder gehad heb.

De bedoeling is als volgt :
Een gebruiker meld zich aan op de site als nieuwe member.
Ok dus vult formulier in .

de parameters voor het voorbeeld :
naam, email, web , password

deze worden in een deel van de base gezet : bv. leden
dit gaat prima

Een volgende SQL update de databasemap : laaste aanmelding met datum
Ook hier geen probleem

Het probleem ontstaat hier :
Er is een 3de database map : TotaalLeden

hierin staat 1 ID autonummering en een Vak " TOTAAL" ( type number )

Eén SQL haalt die waarop op met :

ASP:
1
2
3
4
LaaststeWaardSQL = " SELECT * FROM TOTAALLEDEN  WHERE ID = 1"
SET HaalOp = Connectie(LaatsteWaardeSQL) 

DeGevondeWaarde = HaalOp("TOTAAL").Value

Nadat een nieuwe gebruiker zich aangemeld heeft moet deze gevonde waarde met 1 verhogen.

Mijn idee was als volgt :

ASP:
1
2
3
4
DeNieuweWaarde = DeGevondeWaarde + 1 

en deze vervolgens een nieuwe 
SQL = "UPDATE TOTAALLEDEN SET Waarde = '" + DeNieuweWaarde + "' WHERE ... 

Maar op een of andere manier lukt dit niet :
ASP komt met melding terug :

Microsoft VBScript runtime error '800a000d'

Type mismatch: '[string: "UPDATE RegLedenAanta"]'

Volgens mickeysoft kan dit komen door een verkeerde getallen behandeling en stelt voor om CDbl() (or CInt()) tegebruiken.

Maar helaas ook dit komt niet goed... Ook heb ik geprobeerd ipv een type Number een type text aan de tabel te geven , maar ook zonder succes.

Wie kan mij hier een paar tips geven , ik probeer nu al die verschillende methodes , maar begrijp er steeds minder van.

Heb zelf er aan gedacht dat de database stuk was en deze opnieuw gemaakt.
Ook zonder succes.

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Geen quotes zetten rond numerieke waarden is alvast 1 ding.
Je update query moet dus zo iets worden:

code:
1
update totaalleden set waarde = 7 where ...

en niet
code:
1
update totaalleden set waarde = '7' where ...

https://fgheysels.github.io/


Verwijderd

Topicstarter
Na het verwijderen van de qoutes is de regel , zoals deze in de sourse staat :

ASP:
1
2
3
4
5
6
7
8
9
sSQL2 = " SELECT * FROM RegLedenAantal WHERE IDCounter = 1"

Set LeesMaxAantal = oConn.Execute(sSQL2)
PickLastValue = LeesMaxAantal("CounterMaxLeden").Value
PickLastValue = ( PickLastValue + 1 )

InitNewValueSQL = "UPDATE RegLedenAantal SET CounterMaxLeden = " + PickLastValue  + " WHERE IDCounter = "

Set InitNewValue = oConn.Execute(InitNewValueSQL)


ASP valt dus over regel 7 ...
Zelfs nu de quotes er uit zijn.
Misschien zie ik iets giganties kleins over het hoofd :(

[ Voor 10% gewijzigd door Verwijderd op 02-03-2004 22:51 ]


  • mark117
  • Registratie: Oktober 2002
  • Laatst online: 24-05 05:05
probeer eens de + te vervangen voor een &, je probeert een string aan elkaar te plakken en dat moet in vb script met een &

[ Voor 5% gewijzigd door mark117 op 02-03-2004 22:53 ]


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Je vergeet nog iets aan het eind van je sql-string toe te voegen (zie antwoord hierboven over hoe dat moet in vbscript).

Overigens kies je wel een heel erg omslachtige manier om een getal bij een kolom op te tellen. Het volgende is een stuk simpeler
code:
1
2
3
UPDATE RegLedenAantal 
SET CounterMaxLeden = CounterMaxLeden + 1 
WHERE IDCounter = 1

[ Voor 10% gewijzigd door Annie op 02-03-2004 22:57 ]

Today's subliminal thought is:


Verwijderd

Topicstarter
Oh jongens ik schaam me rot,
Ben al 2 dagen aan het klooien ..........

Bij de andere SQL werke die +-jes prima , maar niet omdat er quotes in stonden.
De combinatie van het verwijderen van de quote en in die SQL de +-jes te vervangen voor & . deed het hem

Dank jullie wel , ik kan nu weer met een gerust hart verder met de rest van de site

CASE CLOSED !
_/-\o_

op hier boven : oh ik wist niet dat het ook direct kon , bedank allemaal

[ Voor 10% gewijzigd door Verwijderd op 02-03-2004 23:01 ]

Pagina: 1