Hallo und Guten Abend liebes Forum
Folgendes Problem (wahrscheinlich Denkfehler) habe ich.
Ich haben 2 Comboboxen Cbox1 und Cbox2. In den beiden Comboboxen stehen div. Einträge zur Auswahl. Wird ein Eintrag ausgewählt, kann ich diesem Eintrag einen Wert (Zahl) zuweisen.
Beispiel: Combobox1 Einträge Wert1 (in Textbox)
-----------CTP Bruch bleibt leer
-----------CTP Pano N95 bleibt leer
-----------CTP Pano Bruch bleibt leer
-----------CTP N95 80
Combobox2 Einträge Wert2 (in Textbox)
-----------CTP Bruch 5
-----------CTP Pano N95 bleibt leer
-----------CTP Pano Bruch bleibt leer
-----------CTP N95 bleibt leer
Diese Wert werden nun in die DB eingetragen und das klappt wunderbar mit diesen Code:
Spoiler anzeigen
Nun zu meinem Problem:
Es kann auch sein, das ich nur Combobox1 auswähle und Combobox2 leer bleibt. Also keinen Eintrag weil nicht benötigt.
Nun bekomme ich folgende Fehlermeldung:
Wie kann ich einen leeren Eintrag machen bzw. verhindern oder wie kann ich das lösen von 2 Einträgen einen leeren nicht zu machen? Also ich kann 2 machen muss aber nicht zwingend.
Ich hoffe Ihr versteht mein Dilemma bzw. was ich vorhabe machen zu können.
Gruß und Danke
Gebhard
Folgendes Problem (wahrscheinlich Denkfehler) habe ich.
Ich haben 2 Comboboxen Cbox1 und Cbox2. In den beiden Comboboxen stehen div. Einträge zur Auswahl. Wird ein Eintrag ausgewählt, kann ich diesem Eintrag einen Wert (Zahl) zuweisen.
Beispiel: Combobox1 Einträge Wert1 (in Textbox)
-----------CTP Bruch bleibt leer
-----------CTP Pano N95 bleibt leer
-----------CTP Pano Bruch bleibt leer
-----------CTP N95 80
Combobox2 Einträge Wert2 (in Textbox)
-----------CTP Bruch 5
-----------CTP Pano N95 bleibt leer
-----------CTP Pano Bruch bleibt leer
-----------CTP N95 bleibt leer
Diese Wert werden nun in die DB eingetragen und das klappt wunderbar mit diesen Code:
VB.NET-Quellcode
- Private Sub BtnAbschicken_Click(sender As Object, e As EventArgs) Handles BtnAbschicken.Click
- If ConnectDatabase() = True Then
- If CheckValidInput(TxtAuftragsnummer.Text) = True And
- CheckValidIsLetter(CbBearbeiter.Text) = True And
- CheckValidIsLetter(TxtProduktbezeichnung.Text) = True And
- CheckValidIsLetter(CbPlattenname1.Text) = True And
- CheckValidInput(TxtStueckzahl1.Text) = True Then
- Dim cmdplatte As New MySqlCommand("INSERT INTO `DWP`.`tbl_plattenabgang_buchen` (`Auftrag`, `Bearbeiter`, `Produktbezeichnung`, `Auftragsfertigstellung`, `Zeit`, `BemerkungAuftrag`, `BemerkungPlatte`, `" & CbPlattenname1.Text & "`, `" & CbPlattenname2.Text & "`) VALUES (@Auftrag, @Bearbeiter, @Produktbezeichnung, @Auftragsfertigstellung, @Zeit, @BemerkungAuftrag, @BemerkungPlatte, '" & TxtStueckzahl1.Text & "', '" & TxtStueckzahl2.Text & "')", con)
- Try
- cmdplatte.Parameters.AddWithValue("Auftrag", TxtAuftragsnummer.Text)
- cmdplatte.Parameters.AddWithValue("Bearbeiter", CbBearbeiter.Text)
- cmdplatte.Parameters.AddWithValue("Produktbezeichnung", TxtProduktbezeichnung.Text)
- cmdplatte.Parameters.AddWithValue("Auftragsfertigstellung", DatumAuftragsfertigstellung.Value)
- cmdplatte.Parameters.AddWithValue("Zeit", TimeAuftragsfertigstellung.Value)
- cmdplatte.Parameters.AddWithValue("BemerkungAuftrag", TxtBemerkungAuftrag.Text)
- cmdplatte.Parameters.AddWithValue(CbPlattenname1.Text, TxtStueckzahl1.Text)
- cmdplatte.Parameters.AddWithValue("BemerkungPlatte", TxtBemerkungPlatte1.Text)
- cmdplatte.Parameters.AddWithValue(CbPlattenname2.Text, TxtStueckzahl2.Text)
- Catch myerror As MySqlException
- 'fehler meldung und fehlercode anzeigen
- MessageBox.Show("Es ist ein Fehler aufgetreten" & vbCrLf & myerror.Message & vbCrLf & "Errorcode: " & myerror.Number, "MySQL Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
- End Try
- cmdplatte.ExecuteNonQuery()
- MessageBox.Show("Plattenbuchung erfolgreich eingetragen", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
- Else
- MessageBox.Show("Es ist ein Fehler aufgetreten" & vbCrLf & "Nicht alle Angaben enthalten gültige Werte.", "Eingabefehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
- If CheckValidInput(TxtAuftragsnummer.Text) = False Then
- TxtAuftragsnummer.Select()
- ElseIf CheckValidIsLetter(CbBearbeiter.Text) = False Then
- CbBearbeiter.Select()
- ElseIf CheckValidIsLetter(TxtProduktbezeichnung.Text) = False Then
- TxtProduktbezeichnung.Select()
- ElseIf CheckValidIsLetter(CbPlattenname1.Text) = False Then
- CbPlattenname1.Select()
- ElseIf CheckValidInput(TxtStueckzahl1.Text) = False Then
- TxtStueckzahl1.Select()
- End If
- End If
- End If
- RefreshData()
- End Sub
Nun zu meinem Problem:
Es kann auch sein, das ich nur Combobox1 auswähle und Combobox2 leer bleibt. Also keinen Eintrag weil nicht benötigt.
Nun bekomme ich folgende Fehlermeldung:
MySql.Data.MySqlClient.MySqlException: "Unknown column '' in 'field list'"
Wie kann ich einen leeren Eintrag machen bzw. verhindern oder wie kann ich das lösen von 2 Einträgen einen leeren nicht zu machen? Also ich kann 2 machen muss aber nicht zwingend.
Ich hoffe Ihr versteht mein Dilemma bzw. was ich vorhabe machen zu können.
Gruß und Danke
Gebhard