Hallo an alle,
ich habe eine SQL Abfrage:
cmd.CommandText = "SELECT SUM(gewicht.differenz) AS sum_Monat FROM gewicht Where st_Datum BETWEEN #08/01/2015# AND #08/31/2015# ";
diese läuft auch einwandfrei durch. Wenn ich jetzt einen formatierten Datetimepicker nutze der das selbe Format hat oder auch wenn ich 2 Textboxen mache mit diesem Format. Bekomme ich immer die Fehlermeldung :
Ein Ausnahmefehler des Typs "System.Data.OleDb.OleDbException" ist in System.Data.dll aufgetreten.
Zusätzliche Informationen: Datentypenkonflikt in Kriterienausdruck.
wo habe ich einen Denkfehler.
besten Dank
Hallo mpeter,
ohne auf dein Problem jetzt konkret einzugehen, empfehle ich dir die Lecktüre von [Artikelserie] SQL: Parameter von Befehlen
Gruß, Alf
Hallo Alf,
das habe ich ja auch fast alles durchgearbeitet auch Lösungswege auf anderen Sieten habe ich getestet. Was ich nicht verstehe wenn ich diese SQL Abfrage:
cmd.CommandText = "SELECT SUM(gewicht.differenz) AS sum_Monat FROM gewicht Where st_Datum BETWEEN #08/01/2015# AND #08/31/2015# ";
übergebe läuft alles sauber durch und ich bekomme das Ergebnis angezeigt.
Wenn ich die Abfrage so umbaue:
cmd.CommandText = "SELECT SUM(gewicht.differenz) AS sum_Monat FROM gewicht Where st_Datum BETWEEN '" + textbox1.text + "' AND '" + textbox2.text + "' ";
in Textbox1 steht "08/01/2015" in Textbox2 "08/31/2015"
bekomme ich sofort den Kriterien Fehler.
Was ist denn da so schlecht zu verstehen?
Schau dir mal ganz genau im Debugger den String an, dann wirst du feststellen das im zusammengesetzten etwas anderes steht.
Aber das hättest du nicht feststellen müssen wenn du erst die Grundlagen dessen erlesen würdest was du machen willst. ( siehe Alfs Link ).
Vergleiche mal die beiden C#-Codes deines letzten Beitrages mpeter, da gibt es Unterschiede drin (und damit ist nicht die Ersetzung des Datums durch die Textboxen gemeint)...