Framework:Syntax von Ausdrücken

Aus CoPlanner 10
Zur Navigation springenZur Suche springen

Beim Erstellen eines Ausdrucks verweist man mit der ColumnName-Eigenschaft auf Spalten einer Tabelle. Wenn z. B. der ColumnName einer Spalte "UnitPrice" und der einer anderen "Quantity" lautet, ergibt sich folgender Ausdruck:

"[UnitPrice] * [Quantity]"

Beim Erstellen eines Ausdrucks für einen Filter schließt man Zeichenfolgen in einfache Anführungszeichen ein:

"LastName = 'Jones'"

Die folgenden Zeichen sind Sonderzeichen und müssen, wie nachstehend beschrieben, mit Escapezeichen versehen werden, wenn sie in einem Spaltennamen verwendet werden sollen:

~
(
)
#
\
/
=
>
<
+
-
*
%
&
|
^
'
"
[
]

Wenn ein Spaltenname eines der oben aufgeführten Zeichen enthält, muss der Name in Klammern eingeschlossen werden. Wenn Sie z. B. eine Spalte mit dem Namen "Column#" in einem Ausdruck verwenden, schreiben Sie "[Column#]":

Total * [Column#]

Da Klammern Sonderzeichen sind, müssen Sie einen umgekehrten Schrägstrich ("\") als Escapezeichen für die Klammer verwenden, wenn diese Teil des Spaltennamens ist. Eine Spalte mit dem Namen "Column[]" wird z. B. wie folgt geschrieben:

Total * [Column[\]]

(Nur die zweite Klammer muss mit einem Escapezeichen versehen werden.)

Benutzerdefinierte Werte

Benutzerdefinierte Werte können in Ausdrücken verwendet und mit Spaltenwerten verglichen werden. Zeichenfolgenwerte müssen in einfache Anführungszeichen eingeschlossen werden. Datumswerte müssen in Nummernzeichen (#) eingeschlossen werden. Dezimalwerte und wissenschaftliche Schreibweise sind für numerische Werte zulässig.

Beispiel:

"FirstName = 'John'" "Price <= 50.00" "Birthdate < #1/31/82#" Wandeln Sie bei Spalten mit Enumerationswerten den Wert in einen Ganzzahldatentyp um. Beispiel: "EnumColumn = 5"

Operatoren

Die Verkettung mit den booleschen Operatoren AND, OR und NOT ist zulässig. Sie können mit Hilfe von Klammern Klauseln gruppieren und den Vorrang erzwingen. Der AND-Operator hat Vorrang gegenüber anderen Operatoren. Beispiel: (LastName = 'Smith' OR LastName = 'Jones') AND FirstName = 'John'

Beim Erstellen von Vergleichsausdrücken sind die folgenden Operatoren zulässig:

<
>
<=
>=
<>
=
IN
LIKE

Die folgenden arithmetischen Operatoren werden ebenfalls in Ausdrücken unterstützt:

+ (Addition)
- (Subtraktion)
* (Multiplikation)
/ (Division)
% (Modulo)

Zeichenfolgenoperatoren

Verwenden Sie zum Verketten einer Zeichenfolge das Pluszeichen (+). Ob die Groß- und Kleinschreibung bei Zeichenfolgenvergleichen berücksichtigt wird, wird durch den Wert der CaseSensitive-Eigenschaft der DataSet-Klasse bestimmt. Sie können diesen Wert jedoch mit der CaseSensitive-Eigenschaft der DataTable-Klasse überschreiben.

Platzhalterzeichen

Sowohl * als auch % können in einem LIKE-Vergleich synonym als Platzhalter verwendet werden. Wenn die Zeichenfolge in einer LIKE-Klausel * oder % enthält, müssen diese Zeichen in Klammern ([]) als Escapezeichen eingeschlossen werden. Wenn eine Klammer in der Klausel enthalten ist, müssen die Klammerzeichen mit Klammern als Escapezeichen versehen werden (z. B. [[] oder []]). Ein Platzhalter ist sowohl an Anfang und Ende eines Musters als auch nur am Ende oder nur am Anfang eines Musters zulässig.

Beispiel:

"ItemName LIKE '*product*'" "ItemName LIKE '*product'" "ItemName LIKE 'product*'"

Platzhalter innerhalb einer Zeichenfolge sind unzulässig. 'te*xt' ist z.B. nicht zulässig.

Functions

Die folgenden Funktionen werden ebenfalls unterstützt

CONVERT

Beschreibung Konvertiert einen bestimmten Ausdruck in einen angegebenen .NET Framework-Typ
Syntax Convert(expression, type)
Argumente expression – Der zu konvertierende Ausdruck
Type – der .NET Framework-Typ, in den der Wert konvertiert wird.
Beispiel myDataColumn.Expression="Convert(total, 'System.Int32')"


LEN

Beschreibung Ruft die Länge einer Zeichenkette ab.
Syntax LEN(expression)
Argumente expression – Die auszuwertende Zeichenkette
Beispiel myDataColumn.Expression="Len(ItemName)"


ISNULL

Beschreibung Überprüft einen Ausdruck und gibt entweder den überprüften Ausdruck oder einen Ersatzwert zurück.
Syntax ISNULL(expression, replacementvalue)
Argumente

expression – Der zu überprüfende Ausdruck.
replacementvalue – Wenn der Ausdruck NULL ist, wird replacementvalue zurückgegeben.

Beispiel myDataColumn.Expression="IsNull(price, -1)"

Alle Konvertierungen sind gültig, mit folgenden Ausnahmen: Boolean kann nur in und aus Byte, SByte, Int16, Int32, Int64, UInt16, UInt32, UInt64, String und in sich selbst umgewandelt werden. Char kann in und aus Int32, UInt32, String und in sich selbst umgewandelt werden. DateTime kann nur in und aus String und in sich selbst umgewandelt werden. TimeSpan kann nur in und aus String und in sich selbst umgewandelt werden.


IIF

Beschreibung Ruft je nach dem Ergebnis eines logischen Ausdrucks einen von zwei Werten ab.
Syntax IIF(expr, truepart, falsepart)
Argumente expr – Der auszuwertende Ausdruck
truepart – Der Wert, der zurückgegeben wird, wenn der Ausdruck True ist
falsepart - Der Wert, der zurückgegeben wird, wenn der Ausdruck False ist
Beispiel myDataColumn.Expression = "IIF(total>1000, 'expensive', 'dear')


TRIM

Beschreibung Entfernt alle vorangestellten oder nachgestellten Leerraumzeichen, z.B. \r, \n, \t und ' '.
Syntax TRIM(expression)
Argumente expression – der zu kürzende Ausdruck.


SUBSTRING

Beschreibung Ruft eine Teilzeichenfolge einer angegebenen Länge ab, beginnend an einem angegebenen Punkt in einer Zeichenfolge.
Syntax SUBSTRING(expression, start, length)
Argumente

expression – Die Quellzeichenfolge für die Teilzeichenfolge.
start – Eine ganze Zahl, die den Beginn der Teilzeichenfolge angibt.
lenght – Eine ganze Zahl, die die Länge der Teilzeichenfolge angibt.

Beispiel myDataColumn.Expression = "SUBSTRING(phone, 7, 8)"


Hinweis  Sie können die Expression-Eigenschaft zurücksetzen, indem Sie ihr einen NULL-Wert oder eine leere Zeichenfolge zuordnen. Wenn ein Standardwert für die Ausdrucksspalte festgelegt ist, wird allen bereits ausgefüllten Zeilen nach dem Zurücksetzen der Expression-Eigenschaft der Standardwert zugeordnet.