sql >> Databáze >  >> RDS >> Mysql

Data databáze aplikace C# windows při zavření nezůstávají zachována

Toto je běžný scénář s databází založenou na souborech (nebo připojenými databázovými soubory)
Váš připojovací řetězec odkazuje na databázi bez použití jakékoli cesty.
To znamená, že vaše databáze je umístěna ve stejném adresáři, kde běží vaše aplikace .
Nemáte žádný problém s vkládáním, úpravou nebo mazáním dat, ale po restartování aplikace z UVNITŘ relace ladění Visual Studio o vše přijdete.

Nyní, když se podíváte na soubory projektu, pravděpodobně máte databázový soubor uvedený mezi ostatními soubory. Mezi vlastnostmi tohoto databázového souboru si všimnete vlastnosti Copy to the Output directory a jeho hodnota je nastavena na Copy Always .

To znamená, že při každém restartování aplikace z prostředí Visual Studio se tento soubor zkopíruje ze složky projektu do výstupního adresáře (obvykle BIN\DEBUG nebo BIN\x86\DEBUG), ale tím se zničí databáze použitá v předchozím spuštění. vložená data upravena nebo odstraněna

Změňte vlastnost Copy to the Output directory na Copy Never nebo Copy if Newer

Nicméně Copy If Newer představuje další problém s MS-Access. Pokud otevřete databázový soubor umístěný ve vašem projektovém adresáři pomocí Access o pomocí okna Server Connection Visual Studio, soubor se okamžitě upraví, i když nic nezměníte, a tak Copy If Newer provede kopii do výstupního adresáře




  1. Nejlepší nové funkce v PostgreSQL 14

  2. Jak spustit MySQL s --skip-grant-tables?

  3. Více formulářů a jedna stránka zpracování

  4. Připojení k SQL Server 2012 pomocí sqlalchemy a pyodbc