Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - C# INSERT INTO Abfrage funktioniert nicht


Ivy - Mo 24.01.11 09:46
Titel: C# INSERT INTO Abfrage funktioniert nicht
Hallo zusammen,
ich bin gerade dabei ein formular zu erstellen, wo der benutzer daten eingeben kann un diese in einer mysql datenbank gespeichert werden. Nun hab ich das problem, dass er mir mit der INSERT INTO anweisung irgendwie nichts einträgt.


C#-Quelltext
1:
2:
3:
4:
5:
6:
command.CommandText = "INSERT INTO daten VALUES" + "('" + txtName.Text + "', '" +
                                                                txtFabrikat.Text + "', '" +
                                                               txtKlirrfaktor.Text + "', '" +
                                                             txtRMS.Text + "', '" +
                                                            txtSN.Text + "', '" +
                                                            txtFrequenz.Text + "');";


das ist meine anweisung.ich weiß nicht was ich falsch gemacht habe... beim debuggen erscheint die anweisung ganz normal?!
also INSERT INTO daten VALUES('a','b','c');
lg ivy


bakachan - Mo 24.01.11 10:31

Was für eine Fehlermeldung kommt denn?

Und ein Insert-Befehl sieht so aus:

Quelltext
1:
2:
INSERT INTO "Tabellen_Name" ("Spalte1", "Spalte2", ...)
VALUES ("Wert1", "Wert2", ...)


Ivy - Mo 24.01.11 10:39

hey,
ich habs rausbekommen, ich hab einfach nach der anweisung:

C#-Quelltext
1:
2:
Console.WriteLine("INSERT, Total rows affected:" + 
                            MyCommand.ExecuteNonQuery());;


gehängt dann ging es aufeinmal. total komisch^^


Th69 - Mo 24.01.11 13:39

Hallo Ivy,

schau dir unbedingt mal die Programmierung mittels SQL-Parametern an, s. meinen Link unter http://www.c-sharp-forum.de/viewtopic.php?p=619527#619527

Das manuelle Zusammenbauen von SQL-Befehlen mittels Stringkonkatenierung erzeugt evtl. Fehler (z.B. wenn das Hochkomma selber im Text vorkommt) und v.a. ist ein Angriffsziel für SQL-Injection [http://de.wikipedia.org/wiki/SQL-Injection]!!!