Laden...

Kriterien Fehler in einer SQL Abfrage

Erstellt von mpeter vor 8 Jahren Letzter Beitrag vor 8 Jahren 2.557 Views
M
mpeter Themenstarter:in
27 Beiträge seit 2015
vor 8 Jahren
Kriterien Fehler in einer SQL Abfrage

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

A
764 Beiträge seit 2007
vor 8 Jahren

Hallo mpeter,

ohne auf dein Problem jetzt konkret einzugehen, empfehle ich dir die Lecktüre von [Artikelserie] SQL: Parameter von Befehlen

Gruß, Alf

M
mpeter Themenstarter:in
27 Beiträge seit 2015
vor 8 Jahren

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.

F
10.010 Beiträge seit 2004
vor 8 Jahren

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 ).

1.040 Beiträge seit 2007
vor 8 Jahren

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)...