AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Abfrage mit Where Bedingung auf einen Zeitraum
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Abfrage mit Where Bedingung auf einen Zeitraum

Ein Thema von stonimahoni · begonnen am 23. Nov 2004 · letzter Beitrag vom 23. Nov 2004
Antwort Antwort
Seite 2 von 2     12   
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#11

Re: SQL Abfrage mit Where Bedingung auf einen Zeitraum

  Alt 23. Nov 2004, 11:19
oder auch nicht
@mikhal :
parameter 'von' wurde nicht gefunden ?!


@ s14 :

undefinierter bezeichner: 'b'
array typ erforderlich


Carsten
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: SQL Abfrage mit Where Bedingung auf einen Zeitraum

  Alt 23. Nov 2004, 11:24
Hast du im ObjectInspector die Parameter auch definiert? Sprich: Hast du festgelegt, welchen Typ die Daten haben (ftDateTime)?

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#13

Re: SQL Abfrage mit Where Bedingung auf einen Zeitraum

  Alt 23. Nov 2004, 11:28
@ mikhal :

du meinst bei den iegenschaften der edit felder ?
wo kann ich dort das (ftDateTime) einstellen ????
Carsten
  Mit Zitat antworten Zitat
s14

Registriert seit: 15. Mai 2003
Ort: München
251 Beiträge
 
Delphi 7 Architect
 
#14

Re: SQL Abfrage mit Where Bedingung auf einen Zeitraum

  Alt 23. Nov 2004, 11:40
Zitat:
undefinierter bezeichner: 'b'
Ich wollte eigentlich die letzten Zeichen im SQLStr fett markieren, habe den Tag aber wieder entfernt weil er nicht korrekt angezeigt wurde. Ich wollte nur vermitteln, daß vielleicht nur das abschließende Anführungszeichen im SQLStr fehlt.
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: SQL Abfrage mit Where Bedingung auf einen Zeitraum

  Alt 23. Nov 2004, 11:41
Nein, In deiner AdoQuery hast du doch Parameter festgelegt. Diesen Parametersn mußt du über die Eigenschaft Params den Datentyp mitgeben, sonst sind diese Parameter undefiniert.

Mir stellt sich jetzt die Frage, für welche Variante du dich entscheiden hast: Das Select-Statement mit Parametern (also WHERE Annahmedatum BETWEEN :Von AND :Bis...) oder die Variante, in der das Statement zusammengefrickelt wird. Beide haben Vor- und Nachteile, aber wie bereits festgestellt wurde, überwiegen bei Datumsfeldern die Vorteile eindeutig bei der Variante mit Parameterübergabe. Vielleicht solltest du nach der Parameterübergabe noch folgende Zeile in deinen Quelltext einfügen, bevor du die Query erneut öffnest:
Code:
AdoQuery1.Prepared := True;
Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#16

Re: SQL Abfrage mit Where Bedingung auf einen Zeitraum

  Alt 23. Nov 2004, 11:52
@ s14 : ne wird ja alles einwandfrei compiliert, nur beim ausführen bekomme ich dann nen fehler wie schon oben beschrieben mit den "gänsefüsschen"

@ mikhal :
ich probiere all eure vorschläge aus
atm bin ich bei folgendem :

Delphi-Quellcode:
     + 'hersteller.Herstellernr, hersteller.Firma, auftrag.Abgeholt where Annahmedatum >= :Von AND Annahmedatum < :Bis';
     ADOQR_Statistik.Parameters.ParamByName('Von').Value := Datum1;
     ADOQR_Statistik.Parameters.ParamByName('Bis').Value := Datum2;
Carsten
  Mit Zitat antworten Zitat
s14

Registriert seit: 15. Mai 2003
Ort: München
251 Beiträge
 
Delphi 7 Architect
 
#17

Re: SQL Abfrage mit Where Bedingung auf einen Zeitraum

  Alt 23. Nov 2004, 12:14
@stonimahoni: Ich meinte ja auch nicht den Compiler, sondern tatsächlich das abschließende Anführungszeichen.
Nicht der Compiler braucht das, sehrwohl aber der DB-Server. 8)
  Mit Zitat antworten Zitat
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#18

Re: SQL Abfrage mit Where Bedingung auf einen Zeitraum

  Alt 23. Nov 2004, 15:17
ok...hab das ganze teil gelöst *freu*

anbei der quellcode :
Delphi-Quellcode:
     with ADODataSetstatistik do begin
          Active:= False;
          sqlstr:= 'SELECT auftrag.Wgr, wgr.Wgr_Bezeichnung, auftrag.Kostentraeger, auftrag.TatGarantie,'
          + ' hersteller.Firma, Sum(auftrag.Gesamtkostrep) AS [Summe von Gesamtkostrep] '
          + 'FROM wgr INNER JOIN (hersteller INNER JOIN auftrag ON hersteller.Herstellernr = auftrag.Herstellernr) '
          + ' ON wgr.Wgr = auftrag.Wgr '
          + 'where Annahmedatum between DATEVALUE ("' + von.Text + '") and DATEVALUE ("' + bis.Text +'") '
          + 'GROUP BY auftrag.Wgr, wgr.Wgr_Bezeichnung, auftrag.Kostentraeger, auftrag.TatGarantie, hersteller.Firma '
          + 'HAVING (((Sum(auftrag.Gesamtkostrep))>0));';
          CommandText := sqlstr;
          Active:= True;
so long...

mfg

stoni
Carsten
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz