Hallo zusammen,
kaum macht man mal paar Monate nichts wegen der Arbeit schon steht man wieder auf dem Schlauch.
Ich habe hier eine "Kleinigkeit" was mich aber gerade vor ein riesen Problem stellt.
Ich habe eine Combobox, die optional zum auswählen ist.
In der Datenbank ist das entsprechende Feld mit "Erlaube Null" markiert.
Die Property der Klasse
C#-Quelltext
1:
| public long? CustomerContactID { get; set; } |
Die Methode zum Schreiben in die MySQL Datenbank. Im einzelnen geht es hier um das Feld "KundekontaktID"
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:
| public static void UpdateBillingMain(BillingMain myMain) { strSQl = "Update rechnung SET datum=?datum, kundeid=?kundeid, kundekontaktid=?kundekontaktid, prozent=?prozent, art=?art where rechnungid=?rechnungid";
using (MySqlConnection conn = new MySqlConnection(connStr)) { using (MySqlCommand cmd = new MySqlCommand(strSQl, conn)) { conn.Open();
cmd.Parameters.AddWithValue("?kundeid", myMain.CustomerID); cmd.Parameters.AddWithValue("?kundekontaktid", myMain.CustomerContactID); cmd.Parameters.AddWithValue("?datum", Convert.ToDateTime(myMain.BillingDate)); cmd.Parameters.AddWithValue("?prozent", myMain.Prozent); cmd.Parameters.AddWithValue("?art", myMain.Type); cmd.Parameters.AddWithValue("?rechnungid", myMain.BillingId);
cmd.ExecuteNonQuery();
conn.Close(); } } } |
Wenn jemand die Combobox auswählt funktioniert es auch, aber wenn das Feld leer bleibt nicht.
C#-Quelltext
1: 2: 3: 4:
| if (cmbAnsprechpartner.SelectedIndex == -1) myBilling.CustomerContactID = null; else myBilling.CustomerContactID = Convert.ToInt64(cmbAnsprechpartner.SelectedValue); |
Würde mich über Hilfe freuen.
Gruß
Daniel
P.S.: ich weiß noch, dass es keinen Sinn macht zwischen englischen und deutschen Befehlen zu mischen.
Dies ist immer noch das erste Projekt was ich mal vor gefühlt Jahren angefangen habe was ich jetzt bis März endlich mal beenden will und würde dann in einem neuen eure Ratschläge dahin gehend umsetzen.