Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: magic_halli am 13.05.09 - 15:10:18

Titel: LotusScript String "umbrechen"
Beitrag von: magic_halli am 13.05.09 - 15:10:18
Hi,

ich habe eine, für die meisten wahrscheinlich, simple Frage:
Ich habe in einem Agent einen seeeehr langen SQL-Querystring. Dieser ist so lang, dass nun die letzten Zeichen einfach vom Designer abgeschnitten werden!
Ich möchte einfach diesen Querystring im Code umbrechen und auf einer neuen Zeile weiter fortsetzen. Ich hab schon sämtliche Syntax probiert (auch Hilfebeispiele, wo ein Umbruch mittels '_' gemacht wird), aber immer bekomme ich Syntax-Fehlermeldungen.
Hier mal als Beispiel der Anfang der Query:
Code
qry.SQL = "UPDATE Appointment SET GlobalObjectId = '" & globalObjectId & "', Subject = '" & Subject & "',Location = '" & location & "' undsoweiterundsofort "
Wie bringe ich hier einen Umbruch rein, sodass ich auf der nächsten Zeile einfach weiterschreiben kann?

Danke und Gruß

Rico.
Titel: Re: LotusScript String "umbrechen"
Beitrag von: MadMetzger am 13.05.09 - 15:13:04
Du könntest das SQL über mehrere Zeilen zusammensetzen und mit Konstanten arbeiten. Das macht den Code vielleicht auch noch lesbarer.
Titel: Re: LotusScript String "umbrechen"
Beitrag von: koehlerbv am 13.05.09 - 15:17:21
Der Unterstrich ist hierfür zuständig:

Messagebox "Quellcode in Zeile 1" & _
"Quellcode in Zeile 2", MB_ICONINFORMATION, _
"Fenstertitel in Zeile 3"

Bernhard

PS: Das steht auch in der DesignerHelp ...
Titel: Re: LotusScript String "umbrechen"
Beitrag von: magic_halli am 13.05.09 - 15:34:02
Danke.
Das "&_" ist´s gewesen! In der Hilfe hab ich immer nur "_" gelesen - damit hat´s nicht funktioniert.

Gruß Rico.
Titel: Re: LotusScript String "umbrechen"
Beitrag von: koehlerbv am 13.05.09 - 15:47:55
Das ist falsch - es ist der Unterstrich, der für die Umbrechung sorgt! Das "&" ist hingegen Bestandteil der Syntax im entsprechenden Kontext - siehe mein Codebeispiel.

Bernhard
Titel: Re: LotusScript String "umbrechen"
Beitrag von: pram am 13.05.09 - 23:41:30
Da beim Umbruch (meiner Meinung nach) unintuitiv eingerückt wird, könntest du auch Pipes verwenden:
Code
sql = |UPDATE irgendwas
               set a = '| + param1 + |'
          Where foo=bar|
Allerdings werden dann "echte" Zeilenumbrüche erzeugt, mit der deine SQL-Engine klarkommen muss (und die Pipes haben noch den Nachteil, dass beim Vorhandensein einer %REM Section hier u.U. immer eine neue Zeile mit einem Pipe beim Speichern entsteht  ::) )
Falls es nicht auf das letzte Quentchen Performance ankommt, ginge auch so ein Konstrukt
Code
dim s$
s =      "UPDATE irgendwas"    ' hier kann dann noch ein Kommentar stehen
s = s + "    SET a = '" + param1 + "'"
's = s + "    timestamp = now" ' Man kann Zeilen auskommentieren
' Oder auch Kommentare dazwischen einfügen
s = s + "    Where foo = bar"
(Ist zwar etwas inperformanter Programmierstiel, aber dafür gut lesbar, bzw. kommentierbar)

Wobei der "_" natürlich die Beste Lösung ist, wenn es nicht so sehr auf die "Optik" drauf an kommt.
Außerdem funktioniert der "_" immer und nicht nur bei StringOperationen

Gruß
Roland