Multidesk.be » Forums » .Net » [vb] database/dataset (gesloten)

Helpinformatie
Dit onderwerp bevindt zich in het archief.
Het is bijgevolg niet mogelijk er nog op te reageren.
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door Pieter op donderdag 18 januari 2007 om 20:42:44.
Pieter heeft nog geen avatar toegevoegd
Multiviteit: 68
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Ik heb een applicatie die gegevens haalt uit een db en die in een dataset inlaad. De dataset is aangemaakt via de designer.
Ik heb geen probleem met het gegevens uit de db te halen. Maar ik vraag me af of ik een commando moet toevoegen om aangepaste gegevens (updates en inserts command ook aangemaakt vie de designer) effectief in de db te zetten. Of gebeurt dit automatisch?
Mijn vraag dus, wordt de dataset automatisch naar de db weggeschreven of moet je daarvoor commando toevoegen?
Indien het 2de het geval zou zijn. Hoe doe ik dat dan.

groetjes
^ Reactie #1 geschreven door Martijn op donderdag 18 januari 2007 om 21:07:09.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Je dataset en je database zijn twee aparte zaken in feite, da's het voordeel van de aanpak in .Net. Je moet de rij nog apart wegschrijven naar de database, bijvoorbeeld via een query.
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #2 geschreven door Pieter op donderdag 18 januari 2007 om 21:14:21.
Pieter heeft nog geen avatar toegevoegd
Multiviteit: 68
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Momenteel heb ik volgende code (sorry vind niet direct hoe je die als code hier neerzet)
in mijn files staat dit

Me.VerrichtingTableAdapter1.InsertVerrichting(dtpBewerken.Value, cmbcategorie.SelectedValue, TextBox2.Text, cmbseizoen.SelectedValue, TextBox1.Text)

in mijn dataset heb ik via een tableadapter dan volgende query aangemaakt (deze noemt dan InsertVerrichting
INSERT INTO [dbo].[verrichting] ([datum], [categorie], [opmerking], [seizoen], [bedrag]) VALUES (@datum, @categorie, @opmerking, @seizoen, @bedrag)

Is dit dan voldoende om iets in de db te zetten?
Want momenteel als ik iets in debug mode toevoeg en mijn programma afsluit en terug opstart in debug mode staat mijn nieuwe query er wel in. Kijk in in de db zelf (via de db explorer) dan staat die er niet. Mijn db staat op 'copy if newer'
^ Reactie #3 geschreven door thekid op donderdag 18 januari 2007 om 21:55:33.
thekid's avatar
Multiviteit: 5273
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
ja, maar uw db staat wel onder de map debug hé, niet onder de gewonen bin of projectsource

met een DataAdapter kan je uw dataset makkelijk aanpassen, als je zo'n designer component gebruikert is het een kwestie van

C# dan wel
CODE
  1.  
  2. // standaard includes + deze
  3. include System.Data.Odbc;
  4.  
  5. public class frmMain: form
  6. {
  7.  
  8. // in uwen main class
  9. DataTable rs = new DataTable();
  10.  
  11. function fillResultset(String sql)
  12. {
  13.   OdbcDataAdapter reader = new OdbcDataAdapter(sql, db);
  14.  
  15.   rs = new DataTable();
  16.   reader.fill(rs);
  17.   DataGridView1.DataSource = rs;
  18.  
  19.   reader.dispose();
  20. }
  21.  
  22. }
  23.  


azo ongeveer zoiets, in VB normaal wel hetzelfde, wel niet vergeten de reference file toe te voegen ;)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten