Detta är ett vanligt scenario med filbaserad databas (eller bifogade databasfiler)
Din anslutningssträng hänvisar till databasen utan att använda någon sökväg.
Detta betyder att din databas finns i samma katalog där din applikation körs .
Du har inga problem med att infoga, ändra eller ta bort data men du förlorar allt när du startar om appen från INNE i en Visual Studio Debug Session.
Nu, om du tittar på dina projektfiler har du förmodligen databasfilen listad mellan de andra filerna. Mellan egenskaperna för denna databasfil kommer du att märka egenskapen Copy to the Output directory
och dess värde satt till Copy Always
.
Detta innebär att varje gång du startar om din applikation inifrån Visual Studio-miljön kopieras den filen från projektmappen till utdatakatalogen (vanligtvis BIN\DEBUG eller BIN\x86\DEBUG) men detta förstör databasen som användes i den tidigare körningen och tas bort den infogade informationen ändrad eller raderad
Ändra egenskapen Copy to Output Directory
till Copy Never
eller Copy if Newer
Men Copy if Newer
presenterar ett annat problem med MS-Access. Om du öppnar databasfilen som finns i din projektkatalog med Access o med hjälp av Server Connection-fönstret i Visual Studio ändras filen omedelbart även om du inte ändrar någonting och därmed kommer Copy If Newer att exekvera kopian till utdatakatalogen