AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

überfordert ~.~

Ein Thema von Anfänger2013 · begonnen am 8. Apr 2013 · letzter Beitrag vom 14. Apr 2013
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#21

AW: überfordert ~.~

  Alt 9. Apr 2013, 18:56
die weiß ich nicht genau aus dem Kopf ...hab morgen aber wieder Unterricht und mach dir nen Screen.
Ein Screenshot muss es nicht sein, ein einfaches STRG-C im Meldungsfenster kopiert die gesamte Fehlermeldung in die Zwischenablage
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Anfänger2013

Registriert seit: 8. Apr 2013
11 Beiträge
 
#22

AW: überfordert ~.~

  Alt 9. Apr 2013, 19:44
oder so
  Mit Zitat antworten Zitat
Anfänger2013

Registriert seit: 8. Apr 2013
11 Beiträge
 
#23

AW: überfordert ~.~

  Alt 10. Apr 2013, 12:14
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Hotelbuchungsprogramm.exe ist eine Exception der Klasse EOleException aufgetreten. Meldung: 'Syntaxfehler in Datum in Abfrageausdruck 'Buchung.Anreise>= #09.04.2013# AND Buchung.Abreise<= #10.04.2013#''. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------

Das ist die Fehlermeldung, die man bekommt, wenn man bei Delphi 6 das Datum nicht zerlegt und man braucht anscheinend keine Rauten beim Datum ...geht auch ohne.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#24

AW: überfordert ~.~

  Alt 10. Apr 2013, 12:34
Noch besser geht es aber mit SQL-Parametern, frag mal Deinen Kumpel, dem hab ich das im Delphi-Treff bereits verklickert.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#25

AW: überfordert ~.~

  Alt 10. Apr 2013, 12:43
Hallo,

Buchung.Anreise ist in der Datenbank vom Type Timestamp. Den kann man unmöglich mit einem derartigen Konstrukt #09.04.2013# vergleichen. Der Vergleich muss mit korrekter SQL-Syntax erfolgen, die Raute gehört nicht dazu.

Der Vergleich mit '09.04.2013' könnte funktionieren, wenn denn die Datenbank in der Lage ist aus dem Timestamp eine Zeichenfolge zu machen oder erkennt, dass die Zeichenfolge ein Datum ist. Aber das sit suboptimal. Weiter oben hatte ich was von Parametern (mit Beispiel) geschrieben, versuch es doch bitte damit (DeddyH weist nicht umsonst darauf hin) und bitte den Lehrer euch ein paar Grundlagen zu SQL zu vermitteln.
  Mit Zitat antworten Zitat
Anfänger2013

Registriert seit: 8. Apr 2013
11 Beiträge
 
#26

AW: überfordert ~.~

  Alt 14. Apr 2013, 13:37
Hallo, ich bins wieder

1. danke nochmal für die posts ...hab einiges umgesetzt und erweitert und es hat funktioniert

2. ich hab ne kurze frage

Delphi-Quellcode:
begin
    ende := ADOQuery_Buchen.FieldByName('Abreise').AsDateTime;
    anfang:= ADOQuery_Buchen.FieldByName('Anreise').AsDateTime;


with ADOQuery_Buchen4 do begin
Close;
  SQL.Text:='SELECT * FROM Zimmer ';
  SQL.Text:='WHERE'        ;
  SQL.Text:='((bu_anreise.Date < anfang) AND (bu_abreise.Date < ende)) AND ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang)) ' ;
  SQL.Text:='((anfang < bu_anreise.Date) AND (bu_abreise.Date < ende)) AND ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang)) '  ;
  SQL.Text:='((anfang < bu_anreise.Date) AND (ende < bu_abreise.Date)) AND ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang))'   ;
Open;
end;
ich möchte für die 3 möglichen fälle das datum der belegung und eingabe prüfen ...wie kann ich den quelltext oben umschreiben, dass er richtig ist und ich keine fehlermeldung ( Unions-Abfrage) erhalte?

LG Sergej

Geändert von Anfänger2013 (14. Apr 2013 um 13:43 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#27

AW: überfordert ~.~

  Alt 14. Apr 2013, 13:53
Hallo, ich bins wieder

1. danke nochmal für die posts ...hab einiges umgesetzt und erweitert und es hat funktioniert

2. ich hab ne kurze frage

Delphi-Quellcode:
begin
    ende := ADOQuery_Buchen.FieldByName('Abreise').AsDateTime;
    anfang:= ADOQuery_Buchen.FieldByName('Anreise').AsDateTime;


with ADOQuery_Buchen4 do begin
Close;
  SQL.Text:='SELECT * FROM Zimmer ';
  SQL.Text:='WHERE'        ;
  SQL.Text:='((bu_anreise.Date < anfang) AND (bu_abreise.Date < ende)) AND ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang)) ' ;
  SQL.Text:='((anfang < bu_anreise.Date) AND (bu_abreise.Date < ende)) AND ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang)) '  ;
  SQL.Text:='((anfang < bu_anreise.Date) AND (ende < bu_abreise.Date)) AND ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang))'   ;
Open;
end;
ich möchte für die 3 möglichen fälle das datum der belegung und eingabe prüfen ...wie kann ich den quelltext oben umschreiben, dass er richtig ist und ich keine fehlermeldung ( Unions-Abfrage) erhalte?

LG Sergej
Versuch es doch bitte mal mit
Delphi-Quellcode:
  SQL.Clear;
  SQL.Add('SELECT * FROM Zimmer WHERE');
  SQL.Add(' ((bu_anreise.Date < anfang) AND (bu_abreise.Date < ende))');
  SQL.Add('and ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang))');
  SQL.Add('and ((anfang < bu_anreise.Date) AND (bu_abreise.Date < ende))');
  SQL.Add('and ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang))');
  SQL.Add('and ((anfang < bu_anreise.Date) AND (ende < bu_abreise.Date))');
  SQL.Add('and ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang))');
mit SQL.Text:='...' weist Du der Abfrage immer neune Text zu.
Daruch hast Du mit jeder Anweisung die vorherige überschrieben, so dass am Ende Deine Abfrage so aussahl: '((anfang < bu_anreise.Date) AND (ende < bu_abreise.Date)) AND ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang))' und das ist kein vollständiges SQL.
  Mit Zitat antworten Zitat
Anfänger2013

Registriert seit: 8. Apr 2013
11 Beiträge
 
#28

AW: überfordert ~.~

  Alt 14. Apr 2013, 15:34
danke
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   

 

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 13:08 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