Announcement

Collapse
No announcement yet.

Leerstring bei Parametern

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

  • Leerstring bei Parametern

    Ich habe eine TADOQuery, die einen Parameter besitzt also etwa so:
    Code:
    SELECT * FROM Tabelle
    WHERE Spalte = :Param
    Den Parameter setzt ich über den Source Code wie folgt:
    Code:
    DataSet->Parameters->ParamByName("Param")->Value = ParaValue;
    ParaValue ist ein Variant, der den Wert eines AnsiStrings erhält.

    Dies funktioniert bereits ganz gut, allerdings kann es sein, dass der AnsiString auch einen Leerstring enthält. Dies ist kein Fehler, sondern soll alle Zeilen zurückgeben, bei denen die Spalte einen Leerstring enthält. Das Problem ist, dass wenn ich den Variant auf einen Leerstring setzen, er als NULL repräsentiert wird und die Abfrage dann entsprechende gar keine Zeilen zurückliefert (Vergleich mit NULL ist immer falsch im SQL). Ich habe es schon mit:
    Code:
    ParaValue.VType = varString;
    probiert, hat aber leider nichts gebracht, gibt trotzdem noch keine Ergebniszeilen zurück.

    Hat jemand eine Idee?

  • #2
    Ich habe eine Lösung des Problems im Internet gefunden und wollte sie euch nur mitteilen, falls jemand mal auf ein ähnliches Problem stößt:
    Leerstrings als Parameter gehen nur dann, wenn man als DataType vom Parameter "ftString" angibt und unter "Size" die Größe der Spalte angibt.
    Hab es probiert und es klappt jetzt!

    Comment

    Working...
    X