Announcement

Collapse
No announcement yet.

TIBSQL aufgelöstes SQL anzeigen

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

  • TIBSQL aufgelöstes SQL anzeigen

    Hallo,

    gibts bei TIBSQL eine Möglichkeit den aufgelösten SQL-String anzuzeigen
    (s.u. Kommentar im Beispiel)?

    AnsiString sql="select * from daten where datum between :start and :end and ser_nr between :sn_start and :sn_end and art_nr between :art_start and :art_end order by datum,zeit";

    TIBSQL *IBSQL;
    IBSQL = new TIBSQL(NULL);
    IBSQL->Database = DataModule1->IBDatabase1;
    IBSQL->Transaction = DataModule1->IBTransaction1;

    IBSQL->SQL->Clear();
    IBSQL->SQL->Add(sql);

    IBSQL->ParamByName("start")->AsString = dvon->Date;
    IBSQL->ParamByName("end")->AsString = dbis->Date;

    IBSQL->ParamByName("sn_start")->AsString = Svon->Text;
    IBSQL->ParamByName("sn_end")->AsString = Sbis->Text;

    IBSQL->ParamByName("art_start")->AsString = Avon->Text;
    IBSQL->ParamByName("art_end")->AsString = Abis->Text;
    // hier würde ich gerne die aufgelöste SQL Abfrage analysieren:
    // NICHT: select * from daten where datum between :start and :end and ...
    // wie z.B. IBSQL->SQL->GetText() zurückliefert.
    // sondern: select * from daten where datum between '2011-11-11' ....
    IBSQL->ExecQuery();

  • #2
    Was ist im Debugger zu sehen?
    Christian

    Comment


    • #3
      vor ISBL->ExecQuery() habe ich mal
      UnicodeString dspSQL = IBSQL->SQL->ToString();
      wchar_t* savedSelectSQL = IBSQL->SQL->GetText();
      eingegeben und die Variablen untersucht, bin aber nicht fündig geworden.
      Mein Problem: die SQL Abfrage liefert Daten bis ein Datensatz mit leerem Seriennummernfeld
      auftritt und endet dann obwohl alle nachfolgenden seriennummern vorhanden sind. Deshalb
      hätte ich mir gerne den vollständigen SQL-String angeschaut in in ISQL.exe ausporbiert.

      Comment


      • #4
        IBSQL->SQL

        müsste nach der Beschreibung als TStrings den kompletten SQL enthalten
        Christian

        Comment


        • #5
          TStrings *test = IBSQL->SQL;
          in test steht nichts aufregendes drin.

          Comment

          Working...
          X