Laden...

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

Letzter Beitrag vor 15 Jahren 12 Posts 1.126 Views
[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! 😉

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

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.

Hallo,

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

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)

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:

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

was für ein datentyp ist timestamp?

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 😉

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

das macht man mit dem connectionstring.

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