Laden...

[gelöst] MySQL DateTime DataGridView Exception

Erstellt von mamphis vor 16 Jahren Letzter Beitrag vor 16 Jahren 2.211 Views
M
mamphis Themenstarter:in
21 Beiträge seit 2008
vor 16 Jahren
[gelöst] MySQL DateTime DataGridView Exception

Hi Leute,

ich habe ein Problem mit einem DataGridView und dem konvertieren von String in DateTime Formate. Immer wenn ich in ein DataGridView Feld ein Datum reinschreibe und das Programm probiert dieses in ein MySQL DateTime zu konvertieren scheitert dies und schmeißt folgende Fehlermeldung raus.

Also hoffenlich könnt ihr mir bei dieser Fehlermeldung helfen.

Schonmal Danke!!! 😁

Gruß Mamphis

Gelöschter Account
vor 16 Jahren

wie wäre es denn, wenn du da einen gültigen string eintippst?

M
mamphis Themenstarter:in
21 Beiträge seit 2008
vor 16 Jahren

tuhe ich ja auch wenn ich denn String in sämtliche Variationen eintippe z.B. 01.02.2008 oder 2008-02-01 oder 01/02/2008. Es geht einfach net!!!

Gelöschter Account
vor 16 Jahren

edit: falsche annahme

edit2: von welchem typ ist denn dein datagridview-zellen-value? datetime oder string?

M
mamphis Themenstarter:in
21 Beiträge seit 2008
vor 16 Jahren

tb5.ValueType = typeof(MySqlDateTime);

Wie du siehst ist es MySqlDateTime!!!

D
89 Beiträge seit 2008
vor 16 Jahren

sprechender textboxname werter herr kollege =P

458 Beiträge seit 2007
vor 16 Jahren

edit: ebenfalls falsche annahme..

be the hammer, not the nail!

M
mamphis Themenstarter:in
21 Beiträge seit 2008
vor 16 Jahren

private void dataGridView1_CellParsing(object sender, DataGridViewCellParsingEventArgs e)
        {
            if (this.dataGridView1.Columns[e.ColumnIndex].Name == "datum" || this.dataGridView1.Columns[e.ColumnIndex].Name == "rdatum")
            {
                if (e != null)
                {
                    if (e.Value != null)
                    {
                        try
                        {
                            e.Value = DateTime.Parse(e.Value.ToString());
                            e.ParsingApplied = true;
                        }
                        catch(FormatException)
                        {
                            e.ParsingApplied = false;
                        }
                    }
                }
            }
        }

Dieses mit der Datumskonvertierung habe ich so gelöst das müsste doch eigentlich funktionieren oder habe ich was falsch gemacht.

Gelöschter Account
vor 16 Jahren

also wenn der zellentyp ein mysqldatetime ist, dann ist es doch recht sinnlos diesen in ein string zu convertieren, um diesen wiederum in ein datetime zu parsen, um dann implizit (und ich glaub genau da wirft es die exception) das .net datetime in ein mysqldatetime zu casten.

D
89 Beiträge seit 2008
vor 16 Jahren

sitzen hier zu 3. im raume: 2 mann (ich und mamphis) arbeiten auf win 2000 und nr 3 auf xp.... dort haben wir schnell mal ein testprojekt erstellt, mit einem datagridview und diesem die mysql db zu grunde gelegt.... dann einfach mal etwas eingetippt und siehe da es geht.... -.-# ... aber warum das bei mamphis nich geht is mir immernoch ein rätsel ! 🤔

M
mamphis Themenstarter:in
21 Beiträge seit 2008
vor 16 Jahren

Aber wenn ich den Code aus dem Parsingevent rauskommentiere funktioneirt es immer noch net, trotz das das Feld den Datentyp MySqlDateTime hat.

Gelöschter Account
vor 16 Jahren

und selbiges testprojekt geht auf win2000 nicht?

D
89 Beiträge seit 2008
vor 16 Jahren

geht, da es mit der gui erstellt wurde,... muss wohl eine nicht gesetzte eingenschaft sein

M
mamphis Themenstarter:in
21 Beiträge seit 2008
vor 16 Jahren

Hey,

wenns wie vermutet eine nicht gesetzte Eigenschaft ist, hat vielleicht einer ne Idee welche es sein könnte?????

M
mamphis Themenstarter:in
21 Beiträge seit 2008
vor 16 Jahren

Guten morgen Leute,

ich habe das Problem mit dem DateTime Format gelöst!!!

Und zwar habe ich in meinem SQL - String das Datum mit Hilfe von


DATE_FORMAT(datum, '%d.%m.%Y')

formatiert.

Und dann gibt das datagridview keine Exception mehr aus.

Gruß Mamphis