![]() |
AW: Seltsamer Fehler bzgl. Parameterobjekt
Zitat:
Zitat:
|
AW: Seltsamer Fehler bzgl. Parameterobjekt
Zitat:
SQL-Injektion ist eben nur ein (seltener) Grund und warum mit Parametern gearbeitet wird. Auf jeden Fall kann man mit Parametern diese Fehlerquelle erst einmal ausschließen. Wenn konkret ein bestimmter Datensatz auf Grundlage der ID benötigt wird, bietet es sich doch an, einfach nur diesen Datensatz mit einer zusätzlichen Abfrage zu holen. Ein Problem mit Zeilenumbrüchen ist mir nicht bekannt, es spricht aber auch nichts dagegen die einzelnen Bedingungen zu klammern, ist für mich lesbarer. Auf jeden Fall hilft es nicht alle Vorschläge wegzudiskutieren, ausprobieren bringt dich weiter. |
AW: Seltsamer Fehler bzgl. Parameterobjekt
Also ich habe das mal versucht nachzustellen, konnte aber keine Probleme diesbezüglich feststellen.
Doppelpunkte im Text können mit Locate einwandfrei gefunden werden. |
AW: Seltsamer Fehler bzgl. Parameterobjekt
Zitat:
Code:
erscheint mir aber sehr obskur.
Seite='*'
Und bei jeder Abfrage alle MenueItems? Zitat:
Ich denke es wird langsam Zeit für den Debugger. Gruß K-H |
AW: Seltsamer Fehler bzgl. Parameterobjekt
Zitat:
Ist nicht wahr, oder? Gott, jetzt merk ich mal wieder wie sehr Oracle einen verwöhnt. Sherlock |
AW: Seltsamer Fehler bzgl. Parameterobjekt
Zitat:
Gruß K-H |
AW: Seltsamer Fehler bzgl. Parameterobjekt
Hallo,
musste das ruhen lassen (ohne Doppelpunkt in dem Textfeld geht es ja erstmal) und komme erst morgen dazu eure Anregungen einmal aufzugreifen. Werde wohl versuchen die relevanten Teile in eine GUI-Anwendung zu kopieren oder das Logging erweitern, mal sehen. Und danach auch mal eure Anregungen aufgreifen, habt ja recht. Aber trotzdem ist es doch seltsam, dass es funzt, wenn der Doppelpunkt im Feld!!! (nicht im Feldnamen, nicht im SQl-Statement) weggelassen wird. Oder das ein Paramter-Fehler gemeldet wird, wo ich doch keine Parameter einsetze. In anderen Datensätzen ist dies übrigens kein Problem, z.B. gibt es da auch viele Textbausteine für Webformulare mit Einträgen wie "Name:", "Ort:" usw. da klappt alles. Einziger unterschied, da gehe ich nicht über die ID um den Eintrag zu finden sondern über die Felder Seite, Position, Kategorie usw. Bzgl. Seite='*' noch kurz. D.h. nur, dass wenn ein Textbaustein auf jeder Seite der Webanwendung auftauchen könnte, nicht auf einer konkreten, dann steht da in der Spalte "Seite" halt ein Stern drin. Solange ich nichts mit "like" im SQL mache sollte ich doch da auch keine Schwierigkeiten kriegen, dass das als Wildecard interpretiert wird. |
AW: Seltsamer Fehler bzgl. Parameterobjekt
Zitat:
Sherlock |
AW: Seltsamer Fehler bzgl. Parameterobjekt
Zitat:
Gruß K-H QSherlock: Zitat:
|
AW: Seltsamer Fehler bzgl. Parameterobjekt
Ihr verwechselt da was (?):
Delphi-Quellcode:
Das eine erzeugt einen String mit zwei durch (CR)LF getrennten Token, das zweite erzeugt logischerweise ein Token.
SQL.Add('foo');
SQL.Add('bar'); // vs. SQL.Add('foo' + 'bar'); 'Token' deshalb, weil es das ist, was der Tokenizer/Parser im RDMBS als Teil des Statement-Compilers dann aus dem Input-String herauszuppelt. Einige RDMBS benötigen an bestimmten Stellen ein sogar CRLF (als Ersatz für den Statement-Trenner ';'), sodaß es wohl kaum einen Treiber gibt, der das wegschnippelt. Wieso sollte ein Treiber ein CRLF ersatzlos wegschnippeln? Das wäre ein schwerwiegender Bug... Und wenn man sich in einem Profiler oder ähnlichen Programm dann anschaut, was genau zum Server geschickt wird, sollte klar werden, das Zeilentrenner nie nicht niemals ersatzlos weggeschnippelt werden. Nun kann man trotz allem ja trotzdem Leerzeichen 'sicherheitshalber' einbauen, aber wozu? Aberglaube? So, nun bin ich aber wirklich gespannt, wie die Geschichte mit dem Doppelpunkt ausgeht... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:46 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