AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Hilfe, ich ahb ein Problem mit einer Query und Edit-Feld
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe, ich ahb ein Problem mit einer Query und Edit-Feld

Ein Thema von tylix · begonnen am 26. Mär 2004 · letzter Beitrag vom 26. Mär 2004
 
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: Hilfe, ich ahb ein Problem mit einer Query und Edit-Feld

  Alt 26. Mär 2004, 14:50
Also ersteinmal...
Zitat von tylix:
Ist doch echt zum
... sowas gehört hier nun wirklich nicht hin

Du hattest Delphi code gepostet, nicht SQL. Außerdem fehlt der End tag. Kannst du bitte vor deinen code ein [ delphi ] und danach [ /dephi ] tippen (ohne Leerzeichen)?

Wenn du deinem Statement veränderliche Werte übergeben willst, dann gehören die in einen Parameter.

Bei Datumsfeldern ist das absolute Pflicht!!!

Ich weiß nicht, wie oft ich das noch predigen muss...
Es ist doch total blauäugig anzunehmen, dass DB und Windows das gleiche Format zur implizierten Umwandlung von Text zu Datum (und andersherum) verwenden!
Packe das Ganze in eine SQL Variable (Parameter), der du den Typ Date gibst. Erst dann hat die DB keine Möglichkeit das Datum falsch zu interpretieren.
Standardfehler ist z. Bsp. die Vertauschung von Monat und Tag.

Als Eingabefeld für das Datum bietet sich ein DateTimePicker an.


Die Abfrage würde dann etwa so aussehen:

Delphi-Quellcode:
  With DM.Qry_Akti2_Selektieren Do
  Begin
    SQL.Text :=
      'SELECT Person.ID' + #10 +
      'FROM DBAdmin.Person Person, DBAdmin.Bogen Bogen' + #10 +
      'WHERE (Person.ID = Bogen.PER_ID) And Bogen.status = :i_BogenStatus And' + #10 +
      ' Person.Sperre Not In (''01'', ''02'', ''03'', ''04'', ''05'', ''06'') And' + #10 +
      ' Person.ID Not In' + #10 +
      ' SELECT ID' + #10 +
      ' FROM DBAdmin.Person s_Pers, DBAdmin.Merkmale Merkm' + #10 +
      ' WHERE s_Pers.ID = Merkm.Mer_Pad_ID And Merkm.mer_merkmal = :i_MerkMal And' + #10 +
      ' Merkm.Mer_Dat = :i_MerkDat)';
    // Parse Statement um Variablen zu erkennen
    Prepared := True;
    // Parameterzuweisung
    With Parameters Do
    Begin
      ParamByName('i_BogenStatus').Value := 1;
      ParamByName('i_MerkMal').Value := '002';
      ParamByName('i_MerkDat').DataType := ftDate;
      ParamByName('i_MerkDat').Value := IgendeinDateTimePicker.Date;
    End;
  End;
  // Ausführen
  Open;
  Mit Zitat antworten Zitat
 


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 01:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz