Dit is een veelvoorkomend scenario met op bestanden gebaseerde databases (of bijgevoegde databasebestanden)
Uw verbindingsreeks verwijst naar de database zonder een pad te gebruiken.
Dit betekent dat uw database zich in dezelfde map bevindt als waar uw toepassing draait .
Je hebt geen enkel probleem met het invoegen, wijzigen of verwijderen van gegevens, maar je verliest alles wanneer je de app herstart vanuit INSIDE een Visual Studio Debug Session.
Als je nu naar je projectbestanden kijkt, heb je waarschijnlijk het databasebestand tussen de andere bestanden staan. Tussen de eigenschappen van dit databasebestand ziet u de eigenschap Copy to the Output directory
en de waarde is ingesteld op Copy Always
.
Dit betekent dat elke keer dat u uw toepassing herstart vanuit de Visual Studio-omgeving dat bestand wordt gekopieerd van de projectmap naar de uitvoermap (meestal BIN\DEBUG of BIN\x86\DEBUG), maar dit vernietigt de database die in de vorige uitvoering is gebruikt. de ingevoerde gegevens gewijzigd of verwijderd
Wijzig de eigenschap Copy to Output Directory
naar Copy Never
of Copy if Newer
Maar Copy if Newer
presenteert een ander probleem met MS-Access. Als u het databasebestand in uw projectdirectory opent met Access o met behulp van het Server Connection-venster van Visual Studio, wordt het bestand onmiddellijk gewijzigd, ook als u niets verandert en dus zal Copy If Newer de kopie naar de outputdirectory uitvoeren