Announcement

Collapse
No announcement yet.

Frage zu SELECT mit ParamByName

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Frage zu SELECT mit ParamByName

    Hallo,<br><br>wenn ich den folgenden Code ausführen, dann erhalte ich mehr Datensätze, wie ich eigentlich möchte:
    <pre>
    Qry.SQL.Text := 'SELECT a.* FROM ADR a WHERE a.Nachname=:nachname';
    Qry.ParamByName('nachname').Value := 'Test 100';
    Qry.Active := True;
    </pre>
    Als Ergebnis erhalte ich alle Datensätze, die mit 'Test 100' beginnen. Ist dieses Verhalten normal oder befindet sich ein Fehler in der verwendeten Komponente?<br>Die SQL-Anweisung wird zur Laufzeit zusammengesetzt, welches ich aus bestimmten Gründen auch so beibehalten möchte. Das Feld Nachname ist vom Typ VARCHAR(50).<br><br>Delphi 6 Prof/7 Prof<br>PostgreSQL 7.3.4<br>ZeosLib 6.0.12 mit Patch 2<br><br>Vielen Dank bereits im vorhinein<br>Stephan H.

  • #2
    Hallo,

    &gt;..Ist dieses Verhalten normal ...

    nein - denn nur die WHERE-Einschränkung über <b>LIKE</b> in Kombination mit einem Jokerzeichen (% oder _) dürfte bei einer Zeichenkette die Treffer zurückliefern, die mit dem Suchmuster beginnen.

    Gibt es bei PostgreSQL ein Tool, mit dem die bei der Datenbank eintreffenden Anweisungen angeschaut werden können

    Comment


    • #3
      Hallo Herr Kosch,<br><br>vielen Dank für Ihre Antwort, leider ist PostgreSQL für mich Neuland und daher weiß ich nicht, ob bzw. wie man sich die eintreffenden Anweisungen ansehen kann.<br><br>Mit der Demo-Version von SQL-Direct wird beim Zugriff auf einen PostgreSQL-Server ein korrektes Ergebnis erziehlt, also enthält die ZeosDBO-Komponente einen Fehler.<br><br>Stephan H

      Comment


      • #4
        Falls jemand ZeosDBO 6.0.12 mit Patch 2 verwenden möchte, dann kann man das korrekte Ergebnis erreichen, indem man DataType explizit auf ftString setzt.<br>In ZeosDBO mit Patch 3 und der 6.1.1er Alpha wurde dieses Problem bereits behoben

        Comment

        Working...
        X