sql >> Database >  >> RDS >> Mysql

C# windows-toepassingstoegang tot databasegegevens blijven niet behouden bij afsluiten

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




  1. Tijdelijk databaseontwerp, met een twist (live vs conceptrijen)

  2. Afbeelding invoegen/bekijken in/van een MySQL DB

  3. MySQL:fout bij het verwijderen van de database (errno 13; errno 17; errno 39)

  4. Membership.ValidateUser retourneert altijd false na upgrade naar VS 2010 / .NET 4.0