Hallo liebes Forum
Ich mache zur Zeit meine ersten Gehversuche mit C# und habe in VS2010 ein WPF Projekt begonnen und stecke nun leider schon nach kurzer Zeit ziemlich fest.
Vielleicht kann mir Neuling ja ein Profi hier helfen
Mein Problem liegt darin, daß ich mit meiner SQL bzw sql-Reader implementierung zwar Tabellen auf meinem SQL-Server erstellen und befüllen kann, aber nicht auslesen.
Ich bekomme immer den Fehler daß im Reader aktuell kein query vorhanden wäre, oder aber versucht würde zu lesen obwohl der reader bereits geclosed wäre.
Meine Connection-Klasse
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| class Connection {
public MySqlConnection Connect (string host, string user, string password, string database) { MySqlConnection conn = new MySqlConnection(); conn.ConnectionString = "server=localhost;database=hs;UID=root;PASSWORD=&dannkhs1!;"; return conn; } |
Meine SQL-Handling-Klasse:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34:
| class Anfragen {
................ ................ ................
public MySqlDataReader select(string com, MySqlConnection c1) { MySqlConnection con = c1; try { MySqlCommand command = con.CreateCommand(); command.CommandText = com; con.Open(); MySqlDataReader reader = command.ExecuteReader(); return reader; } catch (Exception e) { MySqlDataReader reader = null; MessageBox.Show("funzt nicht :("); return reader; } }
}
} |
Und mein Aufruf für die SQL-Befehle
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| private void button4_Click(object sender, RoutedEventArgs e) { userMain = textBox1.Text; passwordMain = passwordBox1.Password; Connection con = new Connection(); Anfragen anf = new Anfragen(); MySqlConnection sqlCon = con.Connect(ip, user, password, database); cmd = "CREATE TABLE IF NOT EXISTS `hs`.`new` ( `idnew` INT NOT NULL , PRIMARY KEY (`idnew`) );"; anf.Create(cmd, sqlCon);
cmd = "INSERT INTO `hs`.`new` (`idnew`) VALUES (1);" +
"INSERT INTO `hs`.`new` (`idnew`) VALUES (2);" +
"INSERT INTO `hs`.`new` (`idnew`) VALUES (3);" +
"INSERT INTO `hs`.`new` (`idnew`) VALUES (4);";
anf.insert(cmd, sqlCon);
cmd = "SELECT * FROM new;";
MySqlDataReader reader = anf.select(cmd, sqlCon);
while (reader.Read()) { MessageBox.Show(reader[2].ToString());
} sqlCon.Close(); } |
Ich war mir nicht ganz sicher ob der Beitrag ins SQl oder ins WPF Forum gehört. Falls ich mich falsch entschieden habe verschiebt ihn bitte ins korrekte Unterforum, merci
mfg,
Phrix
Moderiert von
Kha: "csharp"- durch cs-Tags ersetztModeriert von
Kha: Topic aus WPF / Silverlight verschoben am Fr 20.05.2011 um 16:29