guten abend,
mit folgendem code versuche ich daten in eine sql express db einzutragen, lieder funktioniert es nicht (überprüft mit dem datenbank explorer), jedoch bekomme ich auch keinen fehler angezeigt ).
hier einmal das ganze projekt:
http://agh653.ag.funpic.de/TESTSQL.zip
und hier mal noch der code:
SqlConnection sqlConnection1 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "insert into test (test) values ('TE2222ST')";
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection1;
sqlConnection1.Open();
cmd.ExecuteNonQuery();
sqlConnection1.Close();
hoffe ihr könnt mir helfen, verzweifel schon über ne stunde an diesem minicode ):
schonmal vielen dank 🙂
edit:
mit voller/absoluter pfadangabe
SqlConnection sqlConnection1 = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=\"F:\\Visual Studio 2005\\Projects\\TESTSQL\\TESTSQL\\Database1.mdf\";Integrated Security=True;User Instance=True");
funktioniert es, aber so bringt das ja wenig...
für eine select anweisung habe ich den connection string genauso angegeben wie oben, und da funktioniert alles...
Hi srynoname,
also scheinbar vertraust Du da auf das "Makro" |DataDirectory|.
Das kenne ich zwar nicht, aber ich lese grad Quelle
"Under the hood, the value for |DataDirectory| simply comes from a property on the app domain. It is possible to change that value and override the default behavior by doing this:
AppDomain.CurrentDomain.SetData("DataDirectory", newpath)"
Dann würd ich mal hingehen, und mit ....GetData("DataDirectory") mal kontrollieren, ob das bei Dir korrekt gesetzt ist.
Also Schritt 1 sozusagen 🙂
Gruß Hape
Außerdem, kannst Du mal ein bißchen umbauen.
Erst die Connection sqlConnection1 öffnen,
dann mit
new SqlCommand("insert into .........", sqlConnection1);
drauf zugreifen. Ist irgendwie hübscher. CommandType brauchst Du nicht.
Und dann den SQL Profiler starten und kucken was da ankommt auf der SQL Seite (oh gibts den eigentlich bei Express?)
Gruß Hape
Wenn Du die MDF über "neue Datei hinzufügen" angelegt hast, wird diese
aus deinem ProjektDir, bei jedem prg Start ins Debug verzeichnis kopiert,
also überschrieben.