Toon posts:

[VB.NET] query data refreshen zonder database in dataset

Pagina: 1
Acties:

Verwijderd

Topicstarter
Tweakers,

Ben bezig met een toepassing te ontwikkelen in VB.NET 2005 waar ik een lokale Access database lees. Er zijn verschillende tabellen en views aanwezig.

Er wordt gebruik gemaakt van een dataset die voor iedere tabel en view een datatable bevat en de standaard zaken...

Tijdens de verwerking van mijn programma worden er records toegevoegd/gewijzigd/verwijderd.
In een ander scherm vraag ik mbv een query/view informatie op.

Nu had ik graag geweten of het mogelijk is om, zonder mijn data eerst te saven naar de database, de views in mijn dataset te updaten/refreshen zodat ze een waarsheidsgetrouw beeld geven van de data. Maw de data uit het programma en niet uit de database.

Dank bij voorbaat!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:42
Ja, je voegt toch gewoon gegevens toe in je dataset, en die kan je toch gewoon tonen ?
Als je dan de Update() method van de data-adapter aanroept, worden je gegevens pas naar de DB weggeschreven.

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op zaterdag 14 januari 2006 @ 10:19:
Ja, je voegt toch gewoon gegevens toe in je dataset, en die kan je toch gewoon tonen ?
Als je dan de Update() method van de data-adapter aanroept, worden je gegevens pas naar de DB weggeschreven.
akkoord,
in de gewone tabellen voeg ik mijn gegevens toe.
Echter, het kan niet de bedoeling zijn om voor iedere query (die dus ook een datatable in de dataset heeft) data toe te voegen?
Is er een manier om die queries dan op dataset niveau te maken zodat je ten allen tijde de laatste wijzigingen in de query datatable zitten hebt?

Misschien is mijn uitleg wat onduidelijk maar eerst de updates naar de fysieke database sturen is uit den boze... Het lijkt me toch een veel gebruikte techniek?

[ Voor 0% gewijzigd door Verwijderd op 15-01-2006 20:34 . Reden: Even kicken ]


Verwijderd

Topicstarter
iemand nog ideeen?

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik heb het topic een paar keer doorgelezen, maar ik snap niet wat je wilt. Waarom wil je je wijzigingen niet in de fysieke database opslaan? Klinkt alsof je eigenlijk met transacties wilt werken. Misschien dat je het met wat afbeeldingen wat duidelijker kunt maken?

It’s nice to be important but it’s more important to be nice


Verwijderd

Topicstarter
pjonk schreef op maandag 16 januari 2006 @ 20:28:
Ik heb het topic een paar keer doorgelezen, maar ik snap niet wat je wilt. Waarom wil je je wijzigingen niet in de fysieke database opslaan? Klinkt alsof je eigenlijk met transacties wilt werken. Misschien dat je het met wat afbeeldingen wat duidelijker kunt maken?
laat ik het nog eens proberen, dit keer met een voorbeeld:

de database:
een tabel (tblPersoon) met persoonsinformatie zoals persoonID, naam, voornaam, geboortedatum en adresID
een tabel (tblAdres) met adresinformatie zoals adresID, straatnaam, huisnummer en postcode
een query(viewPersonen) met een join tussen de twee tabellen met als resultaat dus alle info in 1 view.

de dataset:
een datatable met een tableadaptor en alle bijhorende standaard-zaken voor tblPersoon, tblAdres EN viewPersonen.

de verwerking in mijn programma:
allereerst wordt de fill methode opgeroepen opdat de 3 datatables gevuld worden met de gegevens uit de situatie.
de gebruiker kan nieuwe personen invoeren samen met hun adresinformatie. Deze gegevens worden toegevoegd aan de datatables uit de dataset. Pas wanneer ze op de save knop klikken worden de wijzigen doorgestuurd naar de database.
Hoe krijg ik het voor mekaar zodat de query (viewPersonen) zijn data update zonder dat de database eerst moet updaten.

Nog onduidelijk, zeg het mij :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:42
Hoe wil je iets uit je DB halen, als het er niet in zit ?

Je kan wel datarows toevoegen aan je datatable, en die dan gewoon in je datagrid/listview/whatever tonen.

[ Voor 49% gewijzigd door whoami op 17-01-2006 09:11 ]

https://fgheysels.github.io/


  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 05-04 18:13
Ik denk dat je het in deze richting moet zoeken:
C#:
1
2
DataViewSetting x = new DataViewSetting();
            x.Table.//zoek hier

  • elmer25
  • Registratie: Februari 2002
  • Laatst online: 01-12-2021

elmer25

ooit was ik 25

Je verhaal is wat onduidelijk, maar volgens mij begrijp ik wat je wilt. En de oplossing is volgens mij heel simpel. De wijzigingen die gebruikers maken voer je door in de DataSets en dus niet in de fysieke database. DataSets kun je zien als lokale kopieen van de fysieke database. Je kunt er rustig mee spelen zonder je data in gevaar te brengen. Pas als je DataSet.Update aanroept, wanneer de gebruiker op Save klikt, worden de wijzigingen naar de fysieke database overgebracht. Daar hoef je zelf dus ook geen code voor te schrijven, doet .NET allemaal voor je. Mocht je de wijzingen niet op willen slaan, dan roep je DataSet.RejectChanges aan en alle wijzigingen sinds de laatste update zijn weer ongedaan.

Ik hoop dat je hier wat aan hebt.
Pagina: 1