AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Incompatilbe column/host variable data type

Incompatilbe column/host variable data type

Ein Thema von ZOD · begonnen am 9. Nov 2017 · letzter Beitrag vom 9. Nov 2017
 
alex517

Registriert seit: 23. Nov 2004
Ort: Bernau b. Berlin
273 Beiträge
 
Delphi XE5 Enterprise
 
#23

AW: Incompatilbe column/host variable data type

  Alt 9. Nov 2017, 15:13
inzwischen kam der rote Kasten. Aber trotzdem zur Erläuterung..

Das Problem mit den Parameter habe ich auch schon gehabt.
Firebird versucht der Parameter :tmp_tabellen_name zu interpretieren.
Es kommt zu dem Schluss ein '*' die Länge von 1 Zeichen hat.
Für der Parameter :tmp_tabellen_name wird also der entsprechende Platz bereitgestellt.

Wenn jetzt mit f_lrtrim8(f_upper(:tmp_tabellen_name)) ein String mit der Länge > 1
an den Parameter übergeben wird, gibt es ein "string right truncation".

Man muss also Firebird mit cast() oder einer anderen Formulierung der Bedingung
überreden entsprechen Platz zu Verfügung zu stellen.


ich nehme mal ein einfacheres Beispiel.
Es sollen nur die passenden oder alle Personen zurückgegeben werden.
Für alle übergibt man * oder *** oder NULL je nach Variante
SQL-Code:
select
  P.*

from
  PERSON P

where
-- :NACHNAME = '' OR (P.NACHNAME = :NACHNAME) -- geht nicht
  :NACHNAME = '*OR (P.NACHNAME = :NACHNAME) -- geht mit max 1 Zeichen
-- :NACHNAME = '***' OR (P.NACHNAME = :NACHNAME) -- geht bis max 3 Zeichen

-- (:NACHNAME = cast('*' as VARCHAR(10))) OR (P.NACHNAME = :NACHNAME) -- geht bis 10 Zeichen

-- (cast(:NACHNAME as type of COLUMN PERSON.NACHNAME) = '*') OR (P.NACHNAME = :NACHNAME) -- geht bis Länge PERSON.NACHNAME

-- (:NACHNAME = cast('*' as type of COLUMN PERSON.NACHNAME)) OR (P.NACHNAME = :NACHNAME) -- geht bis Länge PERSON.NACHNAME

-- (:NACHNAME is null) or (P.NACHNAME = :NACHNAME) -- geht auch ohne cast()
Alexander
  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 10:04 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