MySql "Date" in Vb.net Verarbeiten.

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    MySql "Date" in Vb.net Verarbeiten.

    Hallo,
    Ich habe ein kleines Problem und zwar:
    Ich lade eine Tabelle der Mysql Datenbank in ein Dataset:
    Connection

    VB.NET-Quellcode

    1. Sub sql_verbindung()
    2. MysqlConn = New MySqlConnection()
    3. 'Connection String
    4. MysqlConn.ConnectionString = "server=192.168.61.5;" _
    5. & "user id=test;" _
    6. & "password=test;" _
    7. & "database=anlagendatenbank;" _
    8. & "Convert Zero Datetime=True" 'Dies habe ich eingefügt damit ich die MySql Splate "Date" in die Spalte "System.DateTime" Laden kann. (Funktioniert auch)
    9. ' Try, Catch, Finally
    10. Try
    11. MysqlConn.Open()
    12. Catch myerror As MySqlException
    13. MessageBox.Show("Cannot connect to database: " & myerror.Message)
    14. Finally
    15. End Try
    16. End Sub

    Abfrage:

    VB.NET-Quellcode

    1. ​Sub abfrage_anlagenNr()
    2. TblAnlagenNrDataGridView.Columns(5).DefaultCellStyle.Format = "dd-MM-yyyy"
    3. SQL = "SELECT * FROM tblAnlagenNr"
    4. anlagendatenbankCommand.Connection = MysqlConn
    5. anlagendatenbankCommand.CommandText = SQL
    6. anlagendatenbankAdapter.SelectCommand = anlagendatenbankCommand
    7. anlagendatenbankAdapter.Fill(Me.Anlagendatenbank_data_set_mysql.tblAnlagenNr)
    8. Dim oCB As MySqlCommandBuilder
    9. oCB = New MySqlCommandBuilder(anlagendatenbankAdapter)
    10. oCB.GetInsertCommand()
    11. End Sub


    Nun wenn ich eine Änderung Speichern möchte mit:

    VB.NET-Quellcode

    1. ​ TblAnlagenNrDataGridView.EndEdit()
    2. TblAnlagenNrBindingSource.EndEdit()
    3. anlagendatenbankAdapter.Update(Anlagendatenbank_data_set_mysql.tblAnlagenNr)

    Kommt dieser Fehler:
    Ein Ausnahmefehler des Typs "System.FormatException" ist in System.Data.dll aufgetreten.

    Zusätzliche Informationen: Die Eingabezeichenfolge hat das falsche Format.

    wie kann ich dies Beheben?
    Sofern ich keinen Fehler gemacht habe und die erste Spalte "0" ist, Ist es Spalte "5".
    Ich habe ja schon den Abfrage Fehler den ich im Connectionstring umgieng. Ist dies er Richtige weg?
    (Es ist definitif die richtige Spalte, in der Datenbank unter dieser Spalte hat es auch keine nicht ausgefüllten Felder ....)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „schnibli“ ()

    Vielen Dank für diene Info. Jedoch kommt nach einfügen von:

    VB.NET-Quellcode

    1. Private Sub TblAnlagenNrDataGridView_CellParsing(sender As Object, e As DataGridViewCellParsingEventArgs) Handles TblAnlagenNrDataGridView.CellParsing
    2. If e.ColumnIndex <> 1 AndAlso e.RowIndex < 0 AndAlso e.RowIndex > TblAnlagenNrDataGridView.RowCount - 2 Then Return
    3. Dim s = e.Value.ToString
    4. e.Value = Date.ParseExact(s, e.InheritedCellStyle.Format, Globalization.CultureInfo.CurrentCulture)
    5. e.ParsingApplied = True
    6. End Sub
    folgende Meldung:
    In System.FormatException ist eine Ausnahme vom Typ "mscorlib.dll" aufgetreten, doch wurde diese im Benutzercode nicht verarbeitet.
    Zusätzliche Informationen: Der Formatbezeichner war ungültig.
    Und ich finde Keinerlei Hilfe dazu :)