myCSharp.de - DIE C# und .NET Community (https://www.mycsharp.de/wbb2/index.php)
- Entwicklung (https://www.mycsharp.de/wbb2/board.php?boardid=3)
-- Grundlagen von C# (https://www.mycsharp.de/wbb2/board.php?boardid=88)
--- Kriterien Fehler in einer SQL Abfrage (https://www.mycsharp.de/wbb2/thread.php?threadid=115367)


Geschrieben von mpeter am 24.08.2015 um 09:16:
  Kriterien Fehler in einer SQL Abfrage
Hallo an alle,

ich habe eine SQL Abfrage:

C#-Code:
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


Geschrieben von Alf Ator am 24.08.2015 um 09:28:
 
Hallo mpeter,

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

Gruß, Alf


Geschrieben von mpeter am 24.08.2015 um 09:39:
 
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:

C#-Code:
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:

C#-Code:
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.


Geschrieben von FZelle am 24.08.2015 um 09:44:
 
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 ).


Geschrieben von p!lle am 24.08.2015 um 09:57:
 
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)...


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 01.04.2020 07:49