[sql]response.write bevat data, Update niet!

Pagina: 1
Acties:

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:13
Hoi,

Ik wil een update of een insert! naar een MS SQL doen.

De insert gaat goed. Maar het script checkt dus eerst of deze waardes al ingevoerd zijn, zo ja, dan moet ie gaan updaten! (Middels if rsBookletSelect.EOF)

ASP:
1
2
3
4
5
6
7
8
sqlUpdateString = "LeftPageTop = '"&PageTopLeft&"', LeftPageBottom= '"&PageBottomLeft1&"', RightPageTop= '"&PageTopRight&"', RightPageBottom= '"&PageBottomRight1&"', Catalogus='"&Catalogus&"'"
    set cmdUpdate = Server.CreateObject("ADODB.Command")
    cmdUpdate.ActiveConnection = MM_ConnMexx_STRING
    cmdUpdate.CommandText = "UPDATE dbo.BookletTbl  SET "&sqlUpdateString&" WHERE Catalogus = '"&Catalogus&"'"
    cmdUpdate.CommandType = 1
    cmdUpdate.CommandTimeout = 0
    cmdUpdate.Prepared = true
    cmdUpdate.Execute()

als ik daarna de sqlUpdateString response.write geeft ie gewoon alles netjes terug. Maar kijk ik in de database is alles leeg :?

Snap dit echt even niet, of ik kijk gewoon over iets stoms heen.
Want de response.write geeft bijvoorbeeld dit terug:
code:
1
sqlstring: LeftPageTop = '', LeftPageBottom= 'intropage.pdf', RightPageTop= '', RightPageBottom= 'leeg.pdf', Catalogus='December'

Dat sommigen leeg zijn, klopt, want daar is niks ingevoerd.
Hij moet dus alles updaten waar Catalogus = December.

Nogmaals, de insert hierop gaat gewoon goed, alleen deze update dus niet.

/edit: sorry voor de layout...

Heart..pumps blood.Has nothing to do with emotion! Bored


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
code:
1
Catalogus = december


moet zijn
code:
1
Catalogus = 'december'


Het zal dus te maken hebben met je where clause. Als de databank geen enkel record vind dat voldoet aan je where, dan wordt er natuurlijk niets geupdated.

In't vervolg misschien eerst even zelf debuggen, of een beetje verder kijken dan dat je neus lang is?

https://fgheysels.github.io/


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:13
whoami: dat staat er toch?

code:
1
WHERE Catalogus = '"&Catalogus&"'"

wordt gewoon WHERE Catalogus = 'december' :?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 26-08 12:01
Print de hele query eens en voer hem uit in Query Analyzer, wat doet ie dan? Geeft ie een foutmelding?

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
TeeDee schreef op 17 september 2002 @ 16:05:
whoami: dat staat er toch?

code:
1
WHERE Catalogus = '"&Catalogus&"'"

wordt gewoon WHERE Catalogus = 'december' :?


Hmmm. Idd, sorry.

https://fgheysels.github.io/


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:13
In de query analyzer geeft ie gewoon netjes: 25 rows affected. Dus dat klopt toch gewoon?

Ik kijk trouwens nog eens ff naar de data die in de db gestopt wordt en dat is:

Niks, alleen de catalogus naam wordt geupdate. De andere (leftpagebottom etc. etc.) worden met niks geupdate, dus die velden worden leeggegooid!

Ps: whoami: np :)

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

De code ziet er goed uit.

Ik denk dat sql server een foutmelding geeft, lees het err object eens uit.

Succes.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
TeeDee schreef op 17 September 2002 @ 16:11:
In de query analyzer geeft ie gewoon netjes: 25 rows affected. Dus dat klopt toch gewoon?

Ik kijk trouwens nog eens ff naar de data die in de db gestopt wordt en dat is:

Niks, alleen de catalogus naam wordt geupdate. De andere (leftpagebottom etc. etc.) worden met niks geupdate, dus die velden worden leeggegooid!

Ps: whoami: np :)


Dus, als ik het goed begrijp, dan werkt die query gewoon goed in QA? het is identiek dezelfde query?

Werk je misschien met transacties in uw Asp code en vergeet je van die transactie te committen?

https://fgheysels.github.io/


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:13
pssssst: niks zeggen hoor, maar
* TeeDee is el-stupido!!!

Die update command staat in een For Loop. En 3 x raden. Hij update alles wel gewoon netjes, alleen met lege data, omdat er dus ook lege data verstuurd kan worden.

Dus whoami, in the end, heb je toch wel gelijk, moet verder kijken dan mijn neus lang is :)

Solly solly :+

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Plaats voortaan de code inclusief lussen :+
Gelukkig heb je het zelf al gevonden....

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:13
hehe, dacht dat het niks uit zou maken... maar gewoon nog ff goed overdacht, en dan tot de conclusie komen dat ie idd alles update waar
"where catalogus = december" en dat zijn dus 25 records! :)

Heart..pumps blood.Has nothing to do with emotion! Bored

Pagina: 1