Entwickler-Ecke
WinForms - datagridview nach Zeitraum sortieren
yougin66 - Di 12.10.10 12:13
Titel: datagridview nach Zeitraum sortieren
Ich wurde gerne in einem DGV ein Sortierung nach einem bestimmten Zeitraum
vornehmen, ich bekomme datei aber immer einen Fehler das der Datentyp unverträglich ist.
momentan sieht das so aus :
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| try { con.Open(); cmd.CommandText = "select * from bestellung where Bestelldatum between '%" + dateTimePicker1.Text + "%' and '%" + dateTimePicker2.Text +"%' "; MessageBox.Show(cmd.CommandText); Ausgabe(); } catch (Exception ex) { MessageBox.Show(ex.Message); } con.Close(); |
yougin66 - Di 12.10.10 13:07
ehm ja...
die parameter stimmen ja soweit, ich kann ja mit nur einem picker nach der auswhal filtern.
nur geht es mit between nicht, nun wäre zu klären woran das liegt?
Th69 - Di 12.10.10 14:31
Hallo,
ich glaube, du hast nicht verstanden, was SQL Parameter sind.
Die Datentypen sind deshalb unverträglich, weil du eine Datumsfeld mit "strings" vergleichst!
Daher lies dir mal den verlinkten Artikel dazu in Ruhe durch...
yougin66 - Di 12.10.10 14:54
Th69 hat folgendes geschrieben : |
Hallo,
ich glaube, du hast nicht verstanden, was SQL Parameter sind.
Die Datentypen sind deshalb unverträglich, weil du eine Datumsfeld mit "strings" vergleichst!
Daher lies dir mal den verlinkten Artikel dazu in Ruhe durch... |
Ich finde in dem Artikel nicht wirklich was nützliches... für mein Problem.
Ein Datum kann ich vergleich das geht auch ohne probleme nur einen zeitraum zu filtern ist etwas schwieriger.
Da komme ich net so recht weiter...
aber danke...
Th69 - Di 12.10.10 15:17
So verwendet man SQL Parameter:
C#-Quelltext
1: 2: 3:
| cmd.CommandText = "select * from bestellung where Bestelldatum between @VON and @BIS"; cmd.Parameters.AddWithValue("@VON", dateTimePicker1.Value); cmd.Parameters.AddWithValue("@BIS", dateTimePicker2.Value); |
Dadurch wird der Parameter als Datumswert übergeben, da "DateTimePicker.Value" ein DateTime ist.
(je nach Datenbanksystem muß man bei dem SQL-Befehl dann ':VON' anstatt '@VON' schreiben, s. Artikel -)
yougin66 - Di 12.10.10 16:11
Th69 hat folgendes geschrieben : |
So verwendet man SQL Parameter:
C#-Quelltext 1: 2: 3:
| cmd.CommandText = "select * from bestellung where Bestelldatum between @VON and @BIS"; cmd.Parameters.AddWithValue("@VON", dateTimePicker1.Value); cmd.Parameters.AddWithValue("@BIS", dateTimePicker2.Value); |
Dadurch wird der Parameter als Datumswert übergeben, da "DateTimePicker.Value" ein DateTime ist.
(je nach Datenbanksystem muß man bei dem SQL-Befehl dann ':VON' anstatt '@VON' schreiben, s. Artikel -) |
Danke passt nun
man muss nur die beiden picker einmal benutzt haben damit er auch richtig filtert!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!