AGB  ·  Datenschutz  ·  Impressum  







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

Incompatilbe column/host variable data type

Ein Thema von ZOD · begonnen am 9. Nov 2017 · letzter Beitrag vom 9. Nov 2017
 
nahpets
(Gast)

n/a Beiträge
 
#18

AW: Incompatilbe column/host variable data type

  Alt 9. Nov 2017, 13:09
Nehmen wir nochmal dashier:
SQL-Code:
select
'Test'
from rdb$database
where
:parameter = '*'
wenn nun Parameter asdf ist, dann wird daraus
SQL-Code:
select
'Test'
from rdb$database
where
asdf = '*'
Das ist kein gültiges SQL-Statement.
Bei der Angabe einer Zeichenfolge müssen um den Parameter ''.

Da rdb$database nur einen Datensatz enthält, kommt als Ergebnis immer eine Zeile heraus, sofern die Where-Bedingung 1. ein gültiges Statement ergibt und 2. das Abfrageergebnis wahr ist.

Machst Du sowas für eine Tabelle mit 10 Mio. Datensätzen, so kommen als Ergebnis bei einer wahren Wehrebedingung 10 Mio. Datensätze heraus. Der Inhalt der Wherebedingung ist dabei für den Tabelleninhalt absolut irrelevant.

Du solltest bitte erstmal verbal beschreiben, was Du genau möchtest, dann kann man nach 'ner Lösung suchen. So erscheint mir das erstmal (überspitzt formuliert) absolut sinnfrei.

Mit den Wherebedingungen
SQL-Code:
where 1 = 1
-- bzw.
where 1 = 2
könntest Du die gleichen Ergebnisse erhalten.
Bei der Nutzung von Zeichenfolgen ginge auch
SQL-Code:
where 'asdf' = 'asdf
-- bzw.
where 'asdf' = '*'
Als Ergebnis gibt es immer alle Sätze der Tabelle oder keinen Satz.

Sollte anstelle von asdf hier jedoch der Spaltenname gewünscht sein? Das geht nicht. Spaltennamen kann man nicht per Parameter übergeben, sondern nur Werte.

dashier geht: where Spaltenname = :Parameter
dashier geht nicht: where :Spaltenname = 'Wert'
dashier geht auch nicht: where :Spaltenname = :ParameterFuerDenWert
  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 02:42 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