AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi In SQL Anweisung Feld Inhalt abfragen lassen
Thema durchsuchen
Ansicht
Themen-Optionen

In SQL Anweisung Feld Inhalt abfragen lassen

Ein Thema von LuckyStrike4life · begonnen am 8. Jan 2004 · letzter Beitrag vom 13. Jan 2004
Antwort Antwort
Seite 3 von 3     123   
Robert_G
(Gast)

n/a Beiträge
 
#21

Re: In SQL Anweisung Feld Inhalt abfragen lassen

  Alt 13. Jan 2004, 09:06
Das Problem war, dass ich DateTime verwendet habe - für deine jetzige Tabelle müsste es Date sein.

Außerdem sollte die Tabelle 2 Datumsfelder enthalten: 1. ausgeliehen (StartDatum) 2.zurückgebracht(EndDatum) (beide mit Uhrzeit)
dann könnte es So aussehen:
Delphi-Quellcode:
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Text :=
   'SELECT *' + #10 +
   'FROM "t:eDienstreisebuch\mainDB.dbf"' + #10 +
   'WHERE Dienst_PKW = :iDienst_PKW AND' + #10 +
   ' (:iDate between StartDatum AND EndDatum)';

Query2.prepare;
Query2.ParamByName('iDienst_PKW').AsString := Dienst_Pkw.text;
Query2.ParamByName('iDate').AsDateTime := DateT.DateTime;
Damit dürftest du die Probleme umgehen können, die weiter oben beschrieben habe...
  Mit Zitat antworten Zitat
LuckyStrike4life

Registriert seit: 22. Jul 2003
Ort: SN
105 Beiträge
 
Delphi 5 Enterprise
 
#22

Re: In SQL Anweisung Feld Inhalt abfragen lassen

  Alt 13. Jan 2004, 09:30
Zitat von GeorgeWNewbie:
Das Problem war, dass ich DateTime verwendet habe - für deine jetzige Tabelle müsste es Date sein.

Außerdem sollte die Tabelle 2 Datumsfelder enthalten: 1. ausgeliehen (StartDatum) 2.zurückgebracht(EndDatum) (beide mit Uhrzeit)
dann könnte es So aussehen:
Delphi-Quellcode:
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Text :=
   'SELECT *' + #10 +
   'FROM "t:eDienstreisebuch\mainDB.dbf"' + #10 +
   'WHERE Dienst_PKW = :iDienst_PKW AND' + #10 +
   ' (:iDate between StartDatum AND EndDatum)';

Query2.prepare;
Query2.ParamByName('iDienst_PKW').AsString := Dienst_Pkw.text;
Query2.ParamByName('iDate').AsDateTime := DateT.DateTime;
Damit dürftest du die Probleme umgehen können, die weiter oben beschrieben habe...
Danke,
es läuft hier in der Art, dass jeder Mitarbeiter der eine Dienstreise machen muss, ein Auto haben kann, solange es noch nicht vergeben ist. Dienstreisen dauern für gewöhnlich ein Tag - wenn es länger dauert, dann muss der private Wagen genommen werden (gegen Entschädigung, klar).
Daher gibt es keine Feld, wann der PKW wieder da ist, sondern nur die Uhrzeit.

D.h. man könnte (und das wäre auch sehr gut) nach der Zeit schauen lassen, es gibt ein Feld für Beginn d. Reise und Ende d. Reise.

Das würde jetzt aber sehr ausfühlichen Code benötigen, erstmal muss man von der Eingabemaske schauen lassen von wann bis wann ein Wagen genommen wird, in die DB schauen - von wann bis wann der PKW weg ist... usw.
- ich kann doch wirklich nichts -
  Mit Zitat antworten Zitat
LuckyStrike4life

Registriert seit: 22. Jul 2003
Ort: SN
105 Beiträge
 
Delphi 5 Enterprise
 
#23

Re: In SQL Anweisung Feld Inhalt abfragen lassen

  Alt 13. Jan 2004, 10:39
*seufz*
hab den Code nun so geschrieben:
Delphi-Quellcode:
sSQL: string;
procedure TForm1.Button2Click(Sender: TObject);
begin

Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Text :=
   'SELECT *' + #10 +
   'FROM "t:eDienstreisebuch\mainDB.dbf"' + #10 +
   'WHERE Dienst_PKW = :iDienst_PKW AND' + #10 +
   ' Datum = :iDate';

Query2.prepare;
Query2.ParamByName('iDienst_PKW').AsString := Dienst_Pkw.text;
Query2.ParamByName('iDate').AsDateTime := DateT.DateTime;
Query2.open;
//Query2.sql.add(sSQL);
Query2.Active:=True;
if Query2.Bof and Query2.Eof
then begin ShowMessage('Dateneingabe');
end
else ShowMessage('Keine Daten');[/delphi]
Leider wird immer noch kein Ergebniss in den Query geschrieben, wenn Datensätze (eigentlich) übereinstimmen.
So läuft dann immer
then begin ShowMessage('Dateneingabe'); ab.
Der Fehler muss noch woanders liegen... .
- ich kann doch wirklich nichts -
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#24

Re: In SQL Anweisung Feld Inhalt abfragen lassen

  Alt 13. Jan 2004, 10:58
Zitat von GeorgeWNewbie:
Das Problem war, dass ich DateTime verwendet habe - für deine jetzige Tabelle müsste es Date sein.
Nicht "asDateTime := xxx.DateTime", sondern "asDate := Date"!!!
  Mit Zitat antworten Zitat
LuckyStrike4life

Registriert seit: 22. Jul 2003
Ort: SN
105 Beiträge
 
Delphi 5 Enterprise
 
#25

Re: In SQL Anweisung Feld Inhalt abfragen lassen

  Alt 13. Jan 2004, 11:11
Nun hab ichs,

der Fehler lag schon in der Zeile - wie du meintest.
Richtig muss sie in meinem Programm in der Art geschrieben stehen:
Query2.ParamByName('iDate').asDate := DateT.DateTime; "Date" könnte nicht ausreichen, denn die Komponente hat von mir den Namen "DateT" bekommen, warum auch immer .

Bedanke mich für deine Hilfe, hast mich wirklich weiter gebracht.
- ich kann doch wirklich nichts -
  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 20:04 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