AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Paramter-Übergabe (SQL)

Ein Thema von localh0st · begonnen am 10. Jul 2017 · letzter Beitrag vom 10. Jul 2017
Antwort Antwort
localh0st

Registriert seit: 10. Apr 2017
4 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Paramter-Übergabe (SQL)

  Alt 10. Jul 2017, 10:12
Delphi-Version: 10 Berlin
Folgendes Problem:

Ich habe in meiner TFDQuery mein SQL-Statement mit Parametern hinterlegt. Lasse ich das Statement über die TFDQuery laufen, zeigt es mir auch die korrekten Daten an.

Im Code rufe ich das ganze folgendermaßen auf:

Delphi-Quellcode:
AQuery.Active := false;
  AQuery.ParamByName('BENUTZER').AsString := Combobox.Text;
  AQuery.ParamByName('ZEIT1').AsString := Von;
  AQuery.ParamByName('ZEIT2').AsString := Bis;
  AQuery.Active := true;
Zeit1 und Zeit2 sind String-Variablen, die auch vorher den korrekten Wert enthalten. Der Benutzer wird auch korrekt übergeben.

Im Ergebnis "frisst" das Statement aber die Parameter nicht und das Endergebnis zeigt die wildesten Sachen an. Es funktioniert sowohl in der TFDQuery-Anzeige, als auch in der Workbench. Nur in der Endausgabe von Delphi nicht.
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Paramter-Übergabe (SQL)

  Alt 10. Jul 2017, 10:18
Was sind denn die Zeiwerte für Datentypen in der Datenbank?
Philip
  Mit Zitat antworten Zitat
localh0st

Registriert seit: 10. Apr 2017
4 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Paramter-Übergabe (SQL)

  Alt 10. Jul 2017, 10:29
Was sind denn die Zeiwerte für Datentypen in der Datenbank?
Also die Datentypen stimmen überein. Er erkennt die Zeitwerte auch problemlos und gibt mir die Daten für den Zeitraum aus.
Er erkennt nur z.B. den Benutzer nicht, das Feld (ich erzeuge eine DB-Tabelle und exportiere die nach Excel) ist immer leer.

Auch soll er einfach Daten nehmen, die er laut TFDQuery auch bekommt (z.B. den Mitarbeiter Resturlaub und die Gesamtstunden der Arbeitszeit). Aber er gibt da einfach nur zusammenhanglosen Schwachsinn aus.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Paramter-Übergabe (SQL)

  Alt 10. Jul 2017, 10:30
Was sind denn die Zeiwerte für Datentypen in der Datenbank?
Man könnte das abkürzen und schlicht fordern:
Es müssen Datumstypen sein!

Entsprechnd gehören die Parameter Wert Zuweisung in Delphi als Datumstypen übergeben. Schon wäre alles gut.
Gruß, Jo
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Paramter-Übergabe (SQL)

  Alt 10. Jul 2017, 10:32
.. Aber er gibt da einfach nur zusammenhanglosen Schwachsinn aus.
Mmh das klingt nicht gut, ist aber auch zur Fehlerfindung nicht hilfreich.
Vielleicht mal ein Beispiel geben? Vielleicht bei einem Problem bleiben (Datumsabfrage)?
Würde bedeuten, User Parameter erstmal raus.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Paramter-Übergabe (SQL)

  Alt 10. Jul 2017, 10:36
Zeit1 und Zeit2 sind String-Variablen, die auch vorher den korrekten Wert enthalten. Der Benutzer wird auch korrekt übergeben.

Im Ergebnis "frisst" das Statement aber die Parameter nicht und das Endergebnis zeigt die wildesten Sachen an. Es funktioniert sowohl in der TFDQuery-Anzeige, als auch in der Workbench. Nur in der Endausgabe von Delphi nicht.
Nun ja es soll ja noch Datenbanken geben in denen ein TimeDate-Typ unbekannt ist da ist der TE wohl gezwungen sich mit den Fehlern und Missinterpretationen von Strings herum zu schlagen.

Was steht denn in der Query? (der vollständige Text wäre schon nicht schlecht)

Gruß
K-H

Edith:
wenn in Excel nicht das Erwartete ankommt, wundert mich das nicht. Kommt denn das Erwartete aus der DB heraus?
(Debugger)
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 (10. Jul 2017 um 10:38 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Paramter-Übergabe (SQL)

  Alt 10. Jul 2017, 10:42
Hallo,

Delphi-Quellcode:
  AQuery.Active := false;
  AQuery.ParamByName('BENUTZER').AsString := Combobox.Text;
  AQuery.ParamByName('ZEIT1').AsString := Von;
  AQuery.ParamByName('ZEIT2').AsString := Bis;
  AQuery.Active := true;
Das ist zuwenig Quellcode.
Wie sieht die Query aus ("Select X from Y"), welche DB wird verwendet und welche Datentypen haben die 3 Felder.
Heiko
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:16 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