ASP - Boolean in database veranderen¿

Pagina: 1
Acties:

  • StarLite
  • Registratie: Januari 2000
  • Laatst online: 16-09 10:55

StarLite

'ON ERROR RESUME NEXT

Topicstarter
Hoe kan ik in ASP een Boolean waarde in een database veranderen¿
Ik heb deze code:
code:
1
2
3
<%Set closepost = Server.Createobject("ADODB.Recordset")
closepost.open "Select * from msgs where messageid=" & Ppost & "",Connect, adOpenDynamic, adLockOptimistic 
closepost("Close")=True %>

maar de waarde blijft stug op False staan :(
Ik krijg ook de volgende error:
ADODB.Fields error '800a0cc1'

ADO could not find the object in the collection corresponding to the name or ordinal reference requested by the application.

/msgb/managetopic.asp, line 156
Wat gaat hier fout¿

tyrips, tywreps, tiewreps, tiereps, tie raps, ripties, taiwraps, kabelbindbandjes » Tie Wraps
\o/


Verwijderd

zo te zien kan die de tabel msgs of het veld messageid niet vinden

Verwijderd

Waarschijnlijk kan hij de kolom 'Close' niet vinden. Verder gaat je code niet werken, aangezien niet de .Update methode van de recordset aanroept nadar je het geselecteerde record update. Verder kan je ook beter checken of je wel een record hebt dat je mag updaten voordat je het doet.

Overigens, waarom gebruik je geen UPDATE statement?

  • Lister
  • Registratie: September 2001
  • Laatst online: 15-02-2022
Met betrekking tot de foutmelding over de veldnaam denk ik dat je de Fields collectie vergeten bent.
En zoals hierboven vermeld moet je inderdaad nog het Update statement toevoegen om de wijzigingen te bewaren.

Probeer dit eens:
code:
1
2
closepost.Fields("Close").Value = True
closepost.Update

En voor de netheid zou ik sowieso eerst controleren of de recordset niet leeg is voordat je hem probeer te wijzigen.

  • StarLite
  • Registratie: Januari 2000
  • Laatst online: 16-09 10:55

StarLite

'ON ERROR RESUME NEXT

Topicstarter
Op donderdag 11 oktober 2001 21:39 schreef Lister het volgende:
Met betrekking tot de foutmelding over de veldnaam denk ik dat je de Fields collectie vergeten bent.
En zoals hierboven vermeld moet je inderdaad nog het Update statement toevoegen om de wijzigingen te bewaren.

Probeer dit eens:
code:
1
2
closepost.Fields("Close").Value = True
closepost.Update
als ik die code d'r in zet zegt 'ie :
ADODB.Fields error '800a0cc1'

ADO could not find the object in the collection corresponding to the name or ordinal reference requested by the application.

/msgb/managetopic.asp, line 156
regel 156:
closepost.Fields("Close").Value = True
En voor de netheid zou ik sowieso eerst controleren of de recordset niet leeg is voordat je hem probeer te wijzigen
dat gebeurd al in een ander stukkie code ;)

tyrips, tywreps, tiewreps, tiereps, tie raps, ripties, taiwraps, kabelbindbandjes » Tie Wraps
\o/


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

En je hebt wel een veld "Close" :?

Lees de post van MrX nog es, een update statement is een veel nettere oplossing hiervoor, imho :)

Verwijderd

Close is een reserved woord, welke je dus niet kan gebruiken in een database. Verander de naam van het veld en je bent waarschijnlijk van je probleem af.
Pagina: 1