Announcement

Collapse
No announcement yet.

Select-Anweisung

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

  • Select-Anweisung

    folgende SelectAnweisung
    close;
    sql.clear;
    sql.add('Select PersonBez from person where PersonId=TableTPersonId.value);
    open;
    liefert mir eine Fehlermedung "ungültiges Schlüsselwort Symbolstring: value". Ersetze ich "TableTPersonId.value" durch einen statischen Wert, funktioniert sie einwandfrei. Was ist falsch dabei ?

    richi

  • #2
    Originally posted by richi View Post
    folgende SelectAnweisung
    close;
    sql.clear;
    sql.add('Select PersonBez from person where PersonId=TableTPersonId.value);
    open;
    liefert mir eine Fehlermedung "ungültiges Schlüsselwort Symbolstring: value". Ersetze ich "TableTPersonId.value" durch einen statischen Wert, funktioniert sie einwandfrei. Was ist falsch dabei ?

    richi
    'Select PersonBez from person where PersonId=TableTPersonId.value' ist eine SQL- Anweisung, das heißt der Sql-Befehl wird so in der DB abgesetzt. und damit kann SQl nix anfangen. TableTPersonId.value hat nix mit Deiner DB zu tun

    Also muß der Wert, der in TableTPersonId.value enthalten ist, dahin
    Code:
      close;
          sql.clear;
          sql.add('Select PersonBez from person where PersonId=' +Format ('%d', [TableTPersonId.value]));
          open;
    Performanter ist es allerdings die Query zu parametrisieren:

    Code:
      
          sql.Text := ('Select PersonBez from person where PersonId=:ID' );
          sql.ParambyName (ID).value := TableTPersonId.value;
          open;
    Zuletzt editiert von ebis; 17.05.2008, 07:46. Reason: schreibfehler

    Comment


    • #3
      Hallo ebis,
      bin momentan noch unterwegs, gucke mir das heute Abend zu Hause an, Danke erstmal !!!

      richi

      Comment


      • #4
        Hallo ebis,
        bei Lösung 1 schreibt der Fehler: "Format %d ungültig oder nicht kompatibel mir Argument". TableTPersonId-Feld ist mit String(10) vordefiniert.

        Bei Lösung 2 kennt er den ParamByName-Bezeichner nicht. Muss er extra definiert werden ?

        gruß
        richi

        Comment

        Working...
        X