Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[ASP-MVC] multiple row update sql lukt niet

Pagina: 1
Acties:

  • Baggeraar
  • Registratie: Oktober 2009
  • Laatst online: 18-11 23:00

Baggeraar

Wat een gebagger..

Topicstarter
Ik probeer via een lambda linq expressie in MVC razor alle rows in de MSSQL database up te daten.

Hij geeft geen syntax fouten of excepties op mijn query zelf, maar de query wordt niet uitgevoerd als ik ga kijken in de database.

C#:
1
2
db = new ProjectDataClassesDataContext(); //dit is een SQL to LINQ dbml file.
db.mijntabelnaam.Where(d => ((TimeSpan)(DateTime.Now - d.reservedSince)).Days > 1).ToList().ForEach(p => { p.reservedBy = null; p.reservedSince = null; p.reservedUserId = null; });


zoals je kan zien probeer ik 3 velden per regel op null te zetten (en ja die zijn allemaal nullable).

ik heb het ook al op volgende manier geprobeert:

C#:
1
2
3
4
5
6
7
8
9
db = new ProjectDataClassesDataContext();
List<mijntabelnaam> rows = db.mijntabelnaams.Where(d => ((TimeSpan)(DateTime.Now - d.reservedSince)).Days > 1).ToList();

foreach (mijntabelnaam row in rows){
   row.reservedBy = null; 
   row.reservedSince = null; 
   row.reservedUserId = null;
}
db.SubmitChanges();


maar ook dat schijnt niet te werken..

Help?

[ Voor 0% gewijzigd door Baggeraar op 06-01-2013 17:48 . Reden: foutje bij copy-pasten ]


  • Sven_Vdb
  • Registratie: Januari 2006
  • Laatst online: 21-11 08:02
In uw lijst van rows zitten toch lijnen?
En wat voor sql query geeft hij door naar je database? ( sql profiler )

  • Baggeraar
  • Registratie: Oktober 2009
  • Laatst online: 18-11 23:00

Baggeraar

Wat een gebagger..

Topicstarter
had inderdaad nog een fout in de where clause.. 8)7

stom, want nu werkt de 2de manier wél.
Maar mocht iemand weten waarom de eerste nog steeds niet werkt? O+

Owja, voor SQL profiling heb ik blijkbaar geen rechten op de server..

[ Voor 17% gewijzigd door Baggeraar op 06-01-2013 17:56 ]


  • Haan
  • Registratie: Februari 2004
  • Laatst online: 23-11 16:52

Haan

dotnetter

Gokje: In je eerste voorbeeld ontbreekt de SubmitChanges call?

Kater? Eerst water, de rest komt later


  • Baggeraar
  • Registratie: Oktober 2009
  • Laatst online: 18-11 23:00

Baggeraar

Wat een gebagger..

Topicstarter
neen, want .ForEach is een void, en in voorbeelden op internet wordt ook nergens verwezen naar een SubmitChanges()

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 23-11 16:52

Haan

dotnetter

Baggeraar schreef op zondag 06 januari 2013 @ 18:55:
neen, want .ForEach is een void, en in voorbeelden op internet wordt ook nergens verwezen naar een SubmitChanges()
Kijk eens goed naar je 2 code voorbeelden. Deze zijn (afgezien van de iets andere syntax) identiek op 1 regel na: db.SubmitChanges();
Met die aanroep wordt daadwerkelijk pas de database bijgewerkt.

Kater? Eerst water, de rest komt later


  • Sven_Vdb
  • Registratie: Januari 2006
  • Laatst online: 21-11 08:02
Idd je vergeet een db.SubmitChanges(); in je eerste voorbeeld!
Pagina: 1