2016-07-28 9 views
-1

Ich versuche, Daten mit lokaler SQL-Datenbank zu erhalten. Mein 1. Code ist einfach und ich schreibe den Pfad direkt.Anzeigen von Daten mit SQL-Datenbankfehler

string connstring = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=C:\\****\\****-\\Desktop\\MSSolution\\MSSolution\\DataTT.mdf;Integrated Security=True"; 

Nach einigen Recherchen ich den Code ändern zu:

static string appPath = Path.GetDirectoryName(Application.ExecutablePath); 
    string connstring = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=" + appPath + "\\DataTT.mdf;Integrated Security=True"; 

Aber das Problem zeigt, dass es nicht die Daten. Und eine weitere Frage, wird die App auf einen exe-Setup einsetzen werden, so dass alle Probleme mit lokaler Datenbank

+1

Haben Sie überprüft, was 'appPath' zurückkehrt? Passt es zu 'C: \ **** \ **** - \ Desktop \ MSSolution \ MSSolution'? –

Antwort

0
<connectionStrings> 
    <add name="ContextName" connectionString= "Data Source=.; Database=dbName; Integrated Security=True" 
providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

Ist das, was Sie suchen ...?

+0

Nein, nur um zu wissen, wie man eine lokale Datenbank mit einem Pfad aufruft, der sich bei verschiedenen Einstellungen ändert – Juste3alfaz

0

Verwenden Sie das | DataDirectory | Platzhalter. Ändern Sie Ihre Verbindungszeichenfolge sein:

"Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\DataTT.mdf;Integrated Security=True" 

Und dann in der App Inbetriebnahme, den Wert von Datenverzeichnis wie folgt aus:

AppDomain.CurrentDomain.SetData("DataDirectory", "SET THE PATH HOWEVER YOU WANT HERE");