2015-08-27 4 views
-1

Je travaille avec une base de données locale dans une application Windows Form et j'essaie d'implémenter la source pour la base de données en tant que DataDirectory, donc au cas où je déplacerais la base de données d'un ordinateur à un autre, fonctionnera très bien. J'ai écrit le code suivant, mais j'obtiens cette erreur, que la valeur ne peut pas être nulle, à la ligne où il obtient le chemin complet. Merci !La valeur ne peut pas être nulle. Nom du paramètre: chemin

var dataDirectory = ConfigurationManager.AppSettings["DataDirectory"]; 
var absoluteDataDirectory = Path.GetFullPath(dataDirectory); 
AppDomain.CurrentDomain.SetData("DataDirectory", absoluteDataDirectory); 
var connString = (@"Data Source= |DataDirectory|\Angajati.sdf"); 
+7

Examinez l'erreur juste un instant. Il vous dit déjà exactement ce qui ne va pas. – hvd

+0

Pourquoi ne l'obtenez-vous pas à partir de la section de chaîne de connexion à l'intérieur de votre app.config? –

+0

Je sais ce que l'erreur dit. Mais je ne sais pas comment le résoudre. – Ezekiel

Répondre

1

Vous devriez avoir cette section dans votre app.config:

<appSettings> 
    <add key="DataDirectory" value="DataDirectoryPath"/> 
</appSettings> 

Par ailleurs pour accéder à DataDirectory vous devez utiliser ce code:

AppDomain.CurrentDomain.GetData("DataDirectory") 

more info.

+0

Fonctionne. Montre que le chemin est correct, mais n'insère pas dans le db. Je veux dire. Il va jusqu'au/Debug mais ensuite entrez un dossier nommé DataDirectoryPath. Pourquoi? – Ezekiel