tomycat - Sa 13.06.15 16:25
Titel: Mysql Zugriff....
hallo,
ich kann mich mit der Datenbank verbinden und nichts in die Tabelle schreiben.
Datenbank: artikel
Tabelle: auto
Spalte: hersteller
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| string myConnection = "server=localhost;port=3306;uid=root;password=root"; MySqlConnection myConn = new MySqlConnection(myConnection);
MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(); myDataAdapter.SelectCommand = new MySqlCommand(" select * artikel.edata ;", myConn); MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter); myConn.Open();
MessageBox.Show("Verbunden"); string query = "INSERT INTO auto (name, age) VALUES('John Smith', '33')"; MySqlCommand cmd = new MySqlCommand(query); myConn.Close(); |
Mit meiner workbench sehe ich keinen Eintrag.
Moderiert von
Th69: Code- durch C#-Tags ersetzt
Ralf Jansen - Sa 13.06.15 17:42
Du erstellst einen DataAdapter, erstellst update Commands für diesen, öffnest eine Connection .... und machst dann nichts mit dem Ding. Ok.
Dann erstellst du ein davon unabhängiges SqlCommand mit einem Insert Statement .... und machst auch nix damit.
a.) Den DataAdapter solltest du benutzen um eine DataTable/Dataset zu füllen und damit zu arbeiten wenn du das nicht vor hast spar die denn ganzen Teil.
b.) Ein Command das du einfach so unabhängig von anderen Dingen benutzt mußt du auch ausführen. Bei einer Query per ExecuteReader() um einen DataReader zu bekommen mit dem du über die Daten iterieren kannst oder wenn du in insert, update, delete abfeuern willst dann per ExecuteNonQuery().
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| using (var con = new MySqlConnection("server=localhost;port=3306;uid=root;password=root")) { con.Open(); using(var cmd = new MySqlCommand("INSERT INTO auto (name, age) VALUES('John Smith', '33')", con); { command.ExecuteNonQuery(); } } |