Laden...

SQL Insert - Keine Fehlermeldung, aber auch kein Eintrag

Erstellt von srynoname vor 17 Jahren Letzter Beitrag vor 17 Jahren 5.237 Views
S
srynoname Themenstarter:in
223 Beiträge seit 2006
vor 17 Jahren
SQL Insert - Keine Fehlermeldung, aber auch kein Eintrag

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...

121 Beiträge seit 2006
vor 17 Jahren

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

121 Beiträge seit 2006
vor 17 Jahren

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

F
10.010 Beiträge seit 2004
vor 17 Jahren

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.