2017-04-08 14 views
0

Ich googelte für einen halben Tag, wie man den Pfad meiner Datenbank so einstellen, wenn ich es auf einen anderen Computer stelle, wird es funktionieren. Ich würde weiter googlen, aber ich brauche die Antwort wirklich schnell ... Ich werde es in wenigen Stunden zu einem Wettkampf verwenden müssen.C# mdf lokale Datenbank

string path = Path.Combine(Application.StartupPath, "Database1.mdf"); 

SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=" + path + ";"); 
conn.Open(); 

SqlCommand command = new SqlCommand("SELECT NAME FROM DATA", conn); 

SqlDataReader reader = command.ExecuteReader(); 

while(reader.Read()) 
{ 
    string text = reader.GetString(0); 
    MessageBox.Show(text); 
} 

SqlCommand c = new SqlCommand("INSERT INTO DATA (id, name) VALUES(i, v)", conn); 
c.Parameters.AddWithValue("@i", 1); 
c.Parameters.AddWithValue("@v", "Jack"); 

c.ExecuteNonQuery(); 

conn.Dispose(); 

Dieser Code funktioniert nur zur Auswahl, aber nicht zum Einfügen. Dann habe ich den Pfad fest in:

String s = @"C:\Users\Radu\Documents\Visual Studio 2013\Projects\WindowsFormsApplication7\WindowsFormsApplication7\Database1.mdf"; 

und es funktioniert für beide, so ist es nicht die SQL-Anweisung, die falsch ist.

Also meine Frage ist: Was ist der Weg, den ich in mein SqlConnection Objekt einfügen sollte, so dass, wenn sie meinen Quellcode auf meine Konkurrenz bekommen und es auf einem anderen PC testen, wird es funktionieren.

+1

Der Ziel-PC hat die Version von SQL Server haben Sie laufen und die Anwendung als Verbindungszeichenfolge. Sind Sie sicher, dass auf dem Ziel-PC LocalDB ausgeführt wird? –

Antwort

0

LocalDB ist ausschließlich für die Entwicklung gedacht. Sie können es nicht in der Produktion verwenden. In Ihrem Fall bedeutet "Produktion" den Wettbewerb. Wenn der Organisator des Wettbewerbs nicht angibt, dass er eine SQL Server-Instanz unterstützt, mit der Sie eine Verbindung herstellen und die Verbindungsparameter angeben (dh sehr unwahrscheinlich), sollten Sie SQL Server nicht in Ihrem Projekt verwenden.

Verwandte Themen