Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - SQL Abfrage Daten von einer anderen Form
lisa5001 - Do 23.03.17 09:07
Titel: SQL Abfrage Daten von einer anderen Form
Guten Tag.
Ich hätte eine Frage zu meinem Btn Insert. Ich möchte Daten von einer anderen Form, in der sich textboxen befinden einfügen. Also einen neuen Datensatz einfügen.
Leider zeigt es weder einen Fehler an, aber es funktioniert auch nicht.....
Hier mein Code des Buttons:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| private void btn_insert_Click(object sender, EventArgs e) { Dlg_Insert meinDialog = new Dlg_Insert(); DialogResult dialog = meinDialog.ShowDialog();
string connectionstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Kundendaten.accdb"; OleDbConnection con; con = new OleDbConnection(connectionstring);
con.Open(); if (DialogResult == DialogResult.OK) { string sql = "INSERT INTO Kundendaten (Name, Adresse, E-Mail, Passwort) VALUES ('" + meinDialog.GetName() + "', '" + meinDialog.GetAddresse() + "', '" + meinDialog.GetEmail() + "')";
OleDbCommand cmd = new OleDbCommand(sql, con);
cmd.ExecuteNonQuery(); con.Close(); } |
Ich bitte euch um Vorschläge dafür?
Moderiert von Th69: C#-Tags hinzugefügt
Th69 - Do 23.03.17 09:58
Hallo und :welcome:,
was genau funktioniert nicht, d.h. wie überprüfst du, ob Daten in die Datenbank geschrieben werden?
Und bitte packe demnächst deinen Code in passende C#-Tags (unter "Bereiche").
erfahrener Neuling - Do 23.03.17 10:06
Hallo Lisa,
Auf den 1. Blick fallen mir 3 Dinge auf, die du tun solltest.
1. Fange mögliche Exceptions (= während der Laufzeit auftretene Fehler) mit
try-catch ab und lass dir die Fehlermeldung anzeigen.
2. Du solltest deine Connection auch nur öffnen, wenn dass erwünscht ist (--> also hier mit in den if-Block mit rein) und dann dafür sorgen, dass Sie auch geschlossen wird.
3. In deiner if-Bedingung verwendest du nicht die DialogResult-Variable
dialog
C#-Quelltext
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:
| private void btn_insert_Click(object sender, EventArgs e) { Dlg_Insert meinDialog = new Dlg_Insert(); DialogResult dialog = meinDialog.ShowDialog();
string connectionstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Kundendaten.accdb"; if (dialog == DialogResult.OK) { using (OleDbConnection con = new OleDbConnection(connectionstring)) { try { con.Open(); string sql = "INSERT INTO Kundendaten (Name, Adresse, E-Mail, Passwort) VALUES ('" + meinDialog.GetName() + "', '" + meinDialog.GetAddresse() + "', '" + meinDialog.GetEmail() + "')"; OleDbCommand cmd = new OleDbCommand(sql, con); cmd.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } } |
Also poste die Fehlermeldung, wie Th69 schon sagte.
Gruß
Julian
lisa5001 - Do 23.03.17 11:53
Ja das
dialog war der Fehler, hab ich dann selbst gemerkt, jetzt funktioniert es! :)
Danke vielmals :)
Moderiert von Th69: Vollzitat entfernt.
Moderiert von Th69: C#-Tags hinzugefügt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!