sql >> Database teknologi >  >> RDS >> Mysql

C# Windows-applikationsadgang til databasedata forbliver ikke ved afslutning

Dette er et almindeligt scenarie med filbaseret database (eller vedhæftede databasefiler)
Din forbindelsesstreng refererer til databasen uden at bruge nogen sti.
Det betyder, at din database er placeret i den samme mappe, hvor din applikation kører .
Du har ikke noget problem med at indsætte, ændre eller slette data, men du mister alt, når du genstarter appen fra INDE i en Visual Studio Debug Session.

Nu, hvis du ser på dine projektfiler, har du sandsynligvis databasefilen opført mellem de andre filer. Mellem egenskaberne for denne databasefil vil du bemærke egenskaben Copy to the Output directory og dens værdi sat til Copy Always .

Dette betyder, at hver gang du genstarter dit program inde fra Visual Studio-miljøet, kopieres filen fra projektmappen til output-mappen (normalt BIN\DEBUG eller BIN\x86\DEBUG), men dette ødelægger den database, der blev brugt i den forrige kørsel, og fjernelse de indsatte data ændret eller slettet

Skift egenskaben Copy to Output Directory til Copy Never eller Copy if Newer

Dog Copy If Newer præsenterer et andet problem med MS-Access. Hvis du åbner databasefilen i dit projektbibliotek ved hjælp af Access o ved hjælp af Server Connection-vinduet i Visual Studio, ændres filen øjeblikkeligt, også hvis du ikke ændrer noget, og Copy If Newer vil således udføre kopien til output-mappen




  1. SQL, Hjælpetabel over tal

  2. Nul SQL-deadlock ved design - nogen kodningsmønstre?

  3. Brug af PHP til at udføre flere MYSQL-forespørgsler

  4. MySQL my.cnf præstationsjustering anbefalinger