Announcement

Collapse
No announcement yet.

Debuggen Sql-Anweisung

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

  • Debuggen Sql-Anweisung

    Einer TQuery kann man über die Eigenschaft SQL einen
    dynamischen SqlString
    beispielsweise in folgender Schreibweise zuordnen

    sSqlString := ' SELECT name ' +#13#10'+
    ' "FROM adress.db " ' +#13#10'+
    ' WHERE alter = ' + sAlter;

    Query.SQL.Add ( sSqlString );

    Das Problem gibt es beim Debuggen. Der String wird im Debugger in
    einer Zeile dargestellt.

    Will man ihn im Datenbankexplorer testen, muß er erst umständlich
    formatiert werden.

    Ich habe mir geholfen, in dem ich ihn mit

    Query.SQL.SaveToFile (..... )

    in eine Datei schreiben lasse und ihn von dort herauskopiere.

    Hat jemand eine einfachere Lösung ?

    Ulli Richter

  • #2
    Hallo,
    du kannst z.b jede Zeile einzeln hinzufügen<BR>
    Query1.Sql.Add('SELECT * FROM TABLELLE');<BR>
    Query1.Sql.Add('WHERE ALTER = ' + vAlter);<BR>
    So kannst du jede Zeile debuggen, oder über Query1.Sql.Text<BR>
    den gesamten Inhalt. Der wird dann vernünftig dargestellt.<BR>
    Gruß<BR>
    Matthias<BR&gt

    Comment


    • #3
      Besten Dank für die Antwort,
      aber das funktioniert nicht.
      Der Sql-Text wird nach wie vor im Debugger
      auf einer Zeile und mit den Zeichen des
      Zeilenumbruchs ($0D$0A) dargestellt.

      Mit freundlichen Grüßen
      U.Richte

      Comment


      • #4
        Hallo Ulli,

        hast Du die CR und LF weggelassen - so wie im Beispiel von Matthias beschrieben?

        Bei mir geht das zeilenweise Debuggen problemlos... ich weiß, das ist wohl keine große Hilfe, wenn es bei Dir nicht so ist.

        Grüße

        Ralp

        Comment


        • #5
          Ich glaube hier ist etwas falsch verstanden worden.
          Das zeilenweise Debuggen ist nicht das Problem.
          sondern die Anzeige des Textes im Debugger,der wird nämlich
          etwa so dargestellt:
          ' Select Name from "Adress" '+'#$0D#$A'+ 'WHERE alter = 20'
          Die Where Zeile ist das zweite ADD'
          Damit ist es nicht ohne weiteres möglich diesen Befehl im Datenbank-
          explorer auszuführen.

          Aber so müßte es gehen

          Clipboard.AsText := Query.Sql.Text;

          Damit steht der SqlString gleich ordentlich in der Zwischenablage
          und kann im Datenbankexplorer eingefügt werden.

          Mit freundlichen Grüßen
          Ull

          Comment


          • #6
            Ulli,

            der Begriff mit dem "zeilenweise Debuggen" stammt nicht von mir - ist schon klar, dass Du nicht den Delphi Debugger meinst.

            Wie auch immer: Ich hoffe, Deine letzte Lösung hilft Dir weiter.

            Ralp

            Comment

            Working...
            X