sql >> Databasteknik >  >> RDS >> Mysql

C# windows-programåtkomstdatabasdata finns inte kvar vid stängning

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




  1. Problem för infogning med psycopg

  2. Finns det en automatisk modifieringstidsstämpeltyp för Oracle-kolumner?

  3. Postgres UTC datumformat &epok cast, tecken inversion

  4. visar en bild lagrad i en mysql blob