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

[c#] Rij toevoegen aan Access Database

Pagina: 1
Acties:

  • Sandertjuhh
  • Registratie: November 2006
  • Laatst online: 15-09 13:01
Ik ben bezig met een simpele applicatie in C#.

Ik heb een datasource (access) database toegevoegd).
Visual Studio heeft een DataSet, en een TableAdapter aangemaakt.

Uitlezen hiervan werkt prima!


Mijn code:

code:
1
2
3
4
5
6
7
8
9
10
11
            // Maak een nieuw rij in de dataset (Dorpen)
            TravianDataSet.DorpenRow nieuwdorp;
            nieuwdorp = travianDataSet.Dorpen.NewDorpenRow();
            nieuwdorp.dorp_naam = "Traviantest";
            nieuwdorp.dorp_cords = "test12";

            // Voeg de rij toe aan de Dataset
            travianDataSet.Dorpen.Rows.Add(nieuwdorp);
           
            // Sla de rij op in de database
            dorpenTableAdapter.Update(travianDataSet.Dorpen);


Wanneer deze uitgevoerd word staat de nieuw rij wel in de DataSet en TableAdapter. Ik kan immers de rij terug vinden in de combobox. Deze combobox heeft als DataSource een Bindingsource gemaakt door VisualStudio.

Dit wil dus zeggen dat het eerste stukkie van de code goed uitgevoerd wordt. Immers voegt die de rij toe aan de DataSet.`

Echter bij het opslaan in de database gaat het mis.

Ik heb reeds bij MSDN gekeken op : http://msdn2.microsoft.co...rary/ms233812(VS.80).aspx Hier vind ik mijn code terug (mijn code is gemaakt aan de hand van die code).

Kan iemand mij vertellen wat ik verkeerd doe?

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 18-11 23:16

TeeDee

CQB 241

- Krijg je errors?
- Debuggen

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


  • Sandertjuhh
  • Registratie: November 2006
  • Laatst online: 15-09 13:01
Ik krijg geen errors,

Debuggen levert niets op. Behalve dat ik zeker weet dat die in de DataSet is toegevoegd.

  • Maxxi
  • Registratie: Mei 2004
  • Laatst online: 21-10 11:49
probeer op je tableadaptor of je dataset (weet niet uit hoofd) eerst AcceptChanges() aan te roepen.

En na het editen .endEdit()

Succes

  • geforce5_guy
  • Registratie: December 2001
  • Niet online
Sandertjuhh schreef op donderdag 17 april 2008 @ 11:01:
Ik krijg geen errors,

Debuggen levert niets op. Behalve dat ik zeker weet dat die in de DataSet is toegevoegd.
De combobox updaten ?

combobox.update(); ?

  • Sandertjuhh
  • Registratie: November 2006
  • Laatst online: 15-09 13:01
Maxxi schreef op donderdag 17 april 2008 @ 11:06:
probeer op je tableadaptor of je dataset (weet niet uit hoofd) eerst AcceptChanges() aan te roepen.

En na het editen .endEdit()

Succes
Hij accepteert al changes.. Immer kans ik er dingen in toevoegen. Hij schrijft ze alleen niet weg naar de mdb file.
geforce5_guy schreef op donderdag 17 april 2008 @ 11:06:
[...]


De combobox updaten ?

combobox.update(); ?
Waarom de ComboBox updaten? Daar komt die tussen te staan.. Dat stond ook in mijn Openingspost..

Het probleem is het wegschrijven naar de mdb file. Niet het schrijven naar de DataSet.

[ Voor 17% gewijzigd door Sandertjuhh op 17-04-2008 11:13 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:03
Maxxi schreef op donderdag 17 april 2008 @ 11:06:
probeer op je tableadaptor of je dataset (weet niet uit hoofd) eerst AcceptChanges() aan te roepen.

En na het editen .endEdit()

Succes
Ja, dat gaat zeker lukken ....
AcceptChanges zorgt ervoor dat de RowState van iedere DataRow in je dataset op 'UnChanged' komt te staan.
2x raden wat de DataAdapter gebruikt om te bepalen of een row moet ge-updated, gedeleted, geinserted worden in de databank ?

Heeft je DataAdapter de nodige commands (InsertCommand, UpdateCommand, ... ), en zijn deze correct ?

https://fgheysels.github.io/


  • Face_-_LeSS
  • Registratie: September 2004
  • Niet online
Kopieer je toevallig je database bestandje mee naar de output directory wanneer je het project runt?
Want dan wordt steeds het "ge-update" bestand overschreven door het originele bestand en zie je wanneer je een tweede keer runt de aangepaste data niet staan.

  • Sandertjuhh
  • Registratie: November 2006
  • Laatst online: 15-09 13:01
Face_-_LeSS schreef op donderdag 17 april 2008 @ 11:15:
Kopieer je toevallig je database bestandje mee naar de output directory wanneer je het project runt?
Want dan wordt steeds het "ge-update" bestand overschreven door het originele bestand en zie je wanneer je een tweede keer runt de aangepaste data niet staan.
|:( |:( Inderdaad.. Onzettend stom maar helemaal niet aan gedacht!

Weet iemand toevallig hoe ik dit kan voorkomen? Dat die gewoon het bestand uit het project pakt en niet automatisch dat bestand steeds kopieert.

  • Maxxi
  • Registratie: Mei 2004
  • Laatst online: 21-10 11:49
Plak je database file ergens anders. En voeg een nieuwe datasource toe, en zeg nee tegen de vraag of je de database in je project wilt copieren.

  • Face_-_LeSS
  • Registratie: September 2004
  • Niet online
Wanneer je het bestand selecteert in Visual Studio dan kan je de property "Copy to Output Directory" instellen naar "Do not Copy".

Of zet hem gewoon op je C:\ schijf en verwijs daar naar, dan is het ook opgelost.
Pagina: 1