Laden...

[gelöst] Daten werden nicht in DB geschrieben, warum?

Erstellt von Trekki1990 vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.090 Views
Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 15 Jahren
[gelöst] Daten werden nicht in DB geschrieben, warum?

verwendetes Datenbanksystem: MS SQL Compact 3.5

Hallo liebe Community!

So ich bin jetzt soweit, dass ich schon ein bisschen SQL beherrsche. Ich kann schonmal schreiben und lesen. Jedoch will es aus dem Code heraus nicht. Ich habe hier mal ein Snippet von meinem Programm. Beim schließen des Forms (FormClosing) sollen die Daten in die DB geschrieben werden. Ich weiß nicht woran der Fehler liegt.

try
            {
                toolStripStatusLabel1.Text = "Sichern...";
                //Einstellungen.Default.Text = richTextBox1.Text;
                SqlCeCommand cmd = new SqlCeCommand("INSERT INTO docarchive (doccontent, timestamp) VALUES('" + richTextBox1.Text
                                                         + "', '" + DateTime.UtcNow.ToString() + "')");
                cmd.Connection = myCon;
                cmd.ExecuteNonQuery();
                myCon.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Es ist ein Fehler aufgetreten:\n\n" + ex.Message);
            }

Ich hoffe ihr könnt mir helfen.
Wäre dankbar für eure Antworten! 😉

Gelöschter Account
vor 15 Jahren
3.825 Beiträge seit 2006
vor 15 Jahren

Hallo,

tritt ein Fehler auf ?

Ist das Datumsformat richtig ?

Enthält dein Textfeld vielleicht das Zeichen ' ?

Du solltest für ein SQL-Kommando besser Parameter benutzen als die Werte mit "+" verknüpfen.

Khalid : Ist dein Artikel über Parameter schon Online ?

Hier gibts noch ein Beispiel für das Einfügen von Daten mit Dataset, ohne (selbstgeschriebenen) SQL-Befehl :

http://www.seven-c.de/files/DatenbankenHowto.htm

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 15 Jahren

Also Fehler gibt er mir nicht aus.
Die Anweisung habe ich Testweise im SQL Server Management Studio genau so ausgeführt wie sie im Code ausgeführt werden würde. Da hat es geklappt.
Die id des Eintrags wird automatisch zugewiesen.

Parameter: Weiß ich noch nichts von, mache mich schlau.

Aber danke erstmal für eure Antworten.

U
1.688 Beiträge seit 2007
vor 15 Jahren

Hallo,

such mal im Forum nach Sql Server Compact - das Problem ist schon fast eine FAQ.

3.511 Beiträge seit 2005
vor 15 Jahren

Khalid : Ist dein Artikel über Parameter schon Online ?

Nö, kommt aber bald 🙂

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 15 Jahren

Am Datumsformat kann es auch nicht liegen. C# Datumsformat habe ich umgeändert in DateTime.Now kommt folgendes: 03.12.2008 11:31:33

So und hier das Format der DB:

3.825 Beiträge seit 2006
vor 15 Jahren

such mal im Forum nach Sql Server Compact - das Problem ist schon fast eine FAQ.

Ja, stimmt 😉

Ich habe z.B. diesen Beitrag gefunden :

SQL INSERT in MDB

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

Gelöschter Account
vor 15 Jahren

was für ein datentyp ist timestamp?

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 15 Jahren

Ich habe jetzt den Fehler gefunden:

Ich habe im Projektmappenverzeichnis meine Datenbank ERSTELLT.
Aber beim ausführen meines Programms nimmt der die Datenbank aus dem Ordner
bin/Debug/ und da steht eben nichts drin, weil er beim schreiben einen anderen Pfad benutzt.

Ich muss nur noch hinkriegen dass er die aus Debug nimmt anstatt aus dem Projektmappenverzeichnis.

Also mal wieder ein falscher Pfad war die Ursache. Ist glaube auch die meiste?!
Hätte ich ja ewig suchen können 😄

Trotzdem Danke für eure Antworten!

Gruß Trekki 😉

Gelöschter Account
vor 15 Jahren

Ich muss nur noch hinkriegen dass er die aus Debug nimmt anstatt aus dem Projektmappenverzeichnis.

das macht man mit dem connectionstring.

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 15 Jahren

Ja mein ich ja. ^^ Mache das hier alles neben der Arbeit. xD