Insert Row in Access Database via Dataset

Status
Niet open voor verdere reacties.

bavelt

Gebruiker
Lid geworden
3 feb 2015
Berichten
7
Hallo,

Ik heb een ogenschijnlijk eenvoudig probleem, maar de oplossing nog nergens gevonden.

Wanneer ik met VB2010 een record wil toevoegen aan een Access Database, dan verloopt dat via een dataset.

Later kan dan via de data-adapter en dataset de mutatie daadwerkelijk in de database worden aangebracht.

Maar wat nu als de in te voegen rij reeds bestaat in de database? Dan vangt de "catch as" het keurig af, maar de foute rij staat nog steeds in de dataset!. En daarmee lopen alle volgende updates ook steeds fout!

Hoe krijg ik die 'foute' rij nu weer uit de dataset?

Gr, Bavelt
 
Dataset en Database

Niemand?

Het geldt bovendien niet alleen voor een insert, maar ook bij een "delete". De dataset loopt dan niet meer synchroon met de database.

Ik heb het voorlopig opgelost door ingeval van een "exception" op de database. de dataset eerst leeg te maken ds.clear() en daarna weer opnieuw te vullen (da.fill)
Maar dit lijkt me een omslachtige methode.
Kan dat niet handiger?

Daarnaast: is het werken met een dataset bij een MSAccess database persé nodig? Kan je niet rechtstreeks op de database werken?

Een nadeel van een dataset kan mi al gauw een nadeel zijn bij een groot bestand. Het bestand wordt eerst "ingelezen" in de dataset. Er is dan geen primary key meer en zal je bij bewerkingen steeds de hele database moeten doorlopen om een record op te zoeken en te muteren. Bij een bestand van ca 30.000 records kan dat de zaak wel eens heel traag maken vermoed ik.

Of doe ik iets verkeerd?

Bavelt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan