Hallo zusammen
In meinem Projekt gibt es einen Teil, wo ich Verschiedene Eingaben in 3 verschiedene Spalten der DB eintragen muss.
Im Moment bewerkstellige ich es so, das ich 3 INSERTS machen die wie folgt aussehen.
Spoiler anzeigen
Meine frage ist, würde es Sinn machen das ganze zu "verkürzen" oder "vereinfachen" mit einer 2D ARRAY?
Oder gibt es eine einfachere Methode als die lange "Wurst" mit den 3 X INSERTS
Gruß und Danke
Gebhard
*Topic verschoben*
In meinem Projekt gibt es einen Teil, wo ich Verschiedene Eingaben in 3 verschiedene Spalten der DB eintragen muss.
Im Moment bewerkstellige ich es so, das ich 3 INSERTS machen die wie folgt aussehen.
VB.NET-Quellcode
- Public Sub btnSpeichern_Click(sender As Object, e As EventArgs) Handles btnSpeichern.Click
- My.Application.Log.WriteEntry("Neuer Messeintrag wurde gemacht, '" & DateString & "', '" & TimeString & "'", TraceEventType.Information, 1)
- Dim cmd As New MySqlCommand("INSERT INTO `DWP`.`feuchtmittelmessung`(tank, datum, leitwert, phwert, temperatur, user, feuchtmittelzusatz, filter1, anmerkung)Values('T1', @datum, @leitwert, @phwert, @temperatur, @user, @feuchtmittelzusatz, '" & Filter1T1 & "', @anmerkung)", con)
- If CheckValidInput(txttnk1lwt.Text) = True And
- CheckValidInput(txttnk2lwt.Text) = True And
- CheckValidInput(txttnk3lwt.Text) = True And
- CheckValidInput(txttnk1phw.Text) = True And
- CheckValidInput(txttnk2phw.Text) = True And
- CheckValidInput(txttnk3phw.Text) = True And
- CheckValidInput(txttnk1temp.Text) = True And
- CheckValidInput(txttnk2temp.Text) = True And
- CheckValidInput(txttnk3temp.Text) = True And
- CheckValidDate(DateTimePickerMessungvom.Value) = True Then
- Try
- cmd.Parameters.AddWithValue("datum", DateTimePickerMessungvom.Value)
- cmd.Parameters.AddWithValue("leitwert", txttnk1lwt.Text.Replace(",", "."))
- cmd.Parameters.AddWithValue("phwert", txttnk1phw.Text.Replace(",", "."))
- cmd.Parameters.AddWithValue("temperatur", txttnk1temp.Text.Replace(",", "."))
- cmd.Parameters.AddWithValue("user", txtuser.Text)
- cmd.Parameters.AddWithValue("feuchtmittelzusatz", cbtnk1fmz.Text)
- cmd.Parameters.AddWithValue("anmerkung", txtanmerktnk1.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
- Close()
- cmd.ExecuteNonQuery()
- Dim cmd1 As New MySqlCommand("INSERT INTO `DWP`.`feuchtmittelmessung`(tank, datum, leitwert, phwert, temperatur, user, feuchtmittelzusatz, filter1, anmerkung)Values('T2', @datum, @leitwert, @phwert, @temperatur, @user, @feuchtmittelzusatz, '" & Filter1T2 & "', @anmerkung)", con)
- Try
- cmd1.Parameters.AddWithValue("datum", DateTimePickerMessungvom.Value)
- cmd1.Parameters.AddWithValue("leitwert", txttnk2lwt.Text.Replace(",", "."))
- cmd1.Parameters.AddWithValue("phwert", txttnk2phw.Text.Replace(",", "."))
- cmd1.Parameters.AddWithValue("temperatur", txttnk2temp.Text.Replace(",", "."))
- cmd1.Parameters.AddWithValue("user", txtuser.Text)
- cmd1.Parameters.AddWithValue("feuchtmittelzusatz", cbtnk2fmz.Text)
- cmd1.Parameters.AddWithValue("anmerkung", txtanmerktnk2.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
- Close()
- cmd1.ExecuteNonQuery()
- Dim cmd2 As New MySqlCommand("INSERT INTO `DWP`.`feuchtmittelmessung`(tank, datum, leitwert, phwert, temperatur, user, feuchtmittelzusatz, filter1, filter2, anmerkung)Values('T3', @datum, @leitwert, @phwert, @temperatur, @user, @feuchtmittelzusatz, '" & Filter1 & "', '" & Filter2 & "', @anmerkung)", con)
- Try
- cmd2.Parameters.AddWithValue("datum", DateTimePickerMessungvom.Value)
- cmd2.Parameters.AddWithValue("leitwert", txttnk3lwt.Text.Replace(",", "."))
- cmd2.Parameters.AddWithValue("phwert", txttnk3phw.Text.Replace(",", "."))
- cmd2.Parameters.AddWithValue("temperatur", txttnk3temp.Text.Replace(",", "."))
- cmd2.Parameters.AddWithValue("user", txtuser.Text)
- cmd2.Parameters.AddWithValue("feuchtmittelzusatz", cbtnk3fmz.Text)
- cmd2.Parameters.AddWithValue("anmerkung", txtanmerktnk3.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
- Close()
- cmd2.ExecuteNonQuery()
- MessageBox.Show("Messungen erfolgreich eingetragen", "Information", MessageBoxButtons.OKCancel, MessageBoxIcon.Information)
- RefreshData()
- Else
- MessageBox.Show("Es ist ein Fehler aufgetreten" & vbCrLf & "Nicht alle Angaben enthalten gültige Werte.", "Eingabefehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
- 'Textbox mit Fehler auswählen
- If CheckValidInput(txttnk1lwt.Text) = False Then
- txttnk1lwt.Select()
- ElseIf CheckValidInput(txttnk2lwt.Text) = False Then
- txttnk2lwt.Select()
- ElseIf CheckValidInput(txttnk3lwt.Text) = False Then
- txttnk3lwt.Select()
- ElseIf CheckValidInput(txttnk1phw.Text) = False Then
- txttnk1phw.Select()
- ElseIf CheckValidInput(txttnk2phw.Text) = False Then
- txttnk2phw.Select()
- ElseIf CheckValidInput(txttnk3phw.Text) = False Then
- txttnk3phw.Select()
- ElseIf CheckValidInput(txttnk1temp.Text) = False Then
- txttnk1temp.Select()
- ElseIf CheckValidInput(txttnk2temp.Text) = False Then
- txttnk2temp.Select()
- ElseIf CheckValidInput(txttnk3temp.Text) = False Then
- txttnk3temp.Select()
- ElseIf CheckValidDate(DateTimePickerMessungvom.Value) = False Then
- DateTimePickerMessungvom.Select()
- End If
- End If
- End Sub
Meine frage ist, würde es Sinn machen das ganze zu "verkürzen" oder "vereinfachen" mit einer 2D ARRAY?
Oder gibt es eine einfachere Methode als die lange "Wurst" mit den 3 X INSERTS
Gruß und Danke
Gebhard
*Topic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()