2016-02-23 1 views
0

Je suis confus au sujet de la façon dont mon code fonctionne après avoir recherché un moyen de sauvegarder des données dans une base de données Access. Le programme écrit le code dans la base de données avec succès, je sais cela parce que dans la même course du programme que les données sont présentes. Ma confusion est due à comment je n'arrive pas à trouver un moyen d'enregistrer la base de données de sorte que chaque fois que le programme s'exécute à nouveau, les données restent. Ce qui se passe en ce moment est après que le programme écrit dans la base de données, si j'arrête le débogage et le redémarre, toutes les données qui ont été ajoutées ne sont plus présentes.C# Sauvegarde à l'accès. Confusion

Je suis peut-être dense mais je ne peux pas me le dire, toute aide serait grandement appréciée.

OleDbConnection Conn = new OleDbConnection(); 
Conn.ConnectionString = 
    @"Provider = Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\HoliPlanData.accdb;Persist Security Info=False"; 
+0

Où se trouve votre base de données Access? S'il vous plaît nous montrer votre chaîne de connexion. – Heinzi

+0

J'ai ajouté la chaîne de connexion à la question ci-dessus, s'il vous plaît jeter un oeil :) – Josh

Répondre

1

Vous exécutez probablement une base de données locale. Cliquez sur la base de données dans l'explorateur de solution et définissez le répertoire CopyToOutput sur autre chose que Copier toujours. Copier Toujours copie votre modèle dans le dossier de l'application chaque fois que l'application est exécutée. Copier Si plus récent ne copiera le modèle de base de données que si vous avez effectué des changements de schéma, mais à nouveau, vous perdrez toutes les données. Ne jamais copier assurera que vous maintenez vos données, mais vous devrez appliquer les modifications de schéma à la base de données de travail dans le dossier de l'application manuellement.

+0

J'ai changé la propriété à NeverCopy mais maintenant on me dit que ma chaîne de connexion est incorrecte? Pourquoi est-ce que vous le savez? – Josh

+0

Vérifiez votre dossier bin/debug ou bin/release (en fonction de la façon dont votre ensemble à compiler) et assurez-vous qu'il y a effectivement une copie de la base de données là. Pouvez-vous donner l'erreur exacte que vous recevez? –

+0

Comment vérifier si j'ai besoin d'une copie dans bin/debug ou bin/release? Voici l'erreur: Exception levée: 'System.Data.OleDb.OleDbException' dans System.Data.dll Informations supplémentaires: Impossible de trouver le fichier 'C: \ Users \ j.perry \ Desktop \ ProjectHolidayPlans \ ProjectHolidayPlans \ bin \ Déboguer \ HoliPlanData.accdb '. – Josh