|
|
||||||
|
#1
|
|
|
|
|
Guten Morgen
irgendwie kriege ich nicht hin ein ganz normale Konvertierung von Integer zu String in einem konstanten Ausdruck Mein Fall: Private Const intZahl As Integer = 700 .... Private Const strSatzart As String = _ "[PatientNummer] = %1" _ & " AND [Datum] = ?MessDatum. AND [intZahl] = " _ & intZahl & " And [Kurzinfo] Like '" .... Der Compiler meldet mir folgenden Fehler: Eine Konvertierung von "Integer" zu "String" kann in einem konstanten Ausdruck nicht durchgeführt werden. Ich habe schon mit .ToString, CType, Convert.ToString versucht, irgendwie klappt es bei mir die Konvertierung nicht. Was mache ich den Falsch? Gruß Waldemar Reidel |
|
|
|
#2
|
|
|
|
|
"Waldemar Reidel" <waldemar.reidel> schrieb
Guten Morgen irgendwie kriege ich nicht hin ein ganz normale Konvertierung von Integer zu String in einem konstanten Ausdruck Mein Fall: Private Const intZahl As Integer = 700 .... Private Const strSatzart As String = _ "[PatientNummer] = %1" _ & " AND [Datum] = ?MessDatum. AND [intZahl] = " _ & intZahl & " And [Kurzinfo] Like '" .... Der Compiler meldet mir folgenden Fehler: Eine Konvertierung von "Integer" zu "String" kann in einem konstanten Ausdruck nicht durchgeführt werden. Ich habe schon mit .ToString, CType, Convert.ToString versucht, irgendwie klappt es bei mir die Konvertierung nicht. Was mache ich den Falsch? ====== Bei der Deklaration von Konstanten ist "&" kein Operator, der zur Laufzeit ausgeführt wird, sondern er dient der Verknüfpung von einzelnen, konstanten Strings. Da die Umwandlung von Integer in String ein Vorgang ist, der erst zur Laufzeit ausgeführt werden kann, ist die Verknüpfung von String-Konstanten und Integer-Konstanten bei der Konstantendeklaration nicht möglich. Und noch als Tipp aus der Sprachspezifikation: "When a symbolic name for a constant value is desired, but the type of the value is not permitted in a constant declaration or when the value cannot be computed at compile time by a constant expression, a read-only variable may be used instead." Armin |
|
#3
|
|
|
|
|
Nachtrag:
http://msdn2.microsoft.com/en-US/lib...20(VS.71).aspx s. Begründung bei "Coercions to and from String are an exception to this rule..." Armin |
|
#4
|
|
|
|
|
Danke Armin
das habe ich nicht gewusst :-) in VB6 ging es, das weiß ich noch. Bin beim überlegen wie es ändern kann. Gruß Waldemar |
|
#5
|
|
|
|
|
Waldemar Reidel schrieb:
> das habe ich nicht gewusst :-) in VB6 ging es, das weiß ich noch. VB6 ließ Dich auch mit Zeichenfolgen rechnen. > Bin beim überlegen wie es ändern kann. Private Const intZahl As String = "700" .... Private Const strSatzart As String = _ "[PatientNummer] = %1" _ & " AND [Datum] = ?MessDatum. AND [intZahl] = " _ & intZahl & " And [Kurzinfo] Like '" Die Bezeichner habe ich extra so belassen, um zu zeigen, wie wertfrei und unflexibel Typpräfixe sind. Alternative: Private Const intZahl As Integer = 700 .... Private Shared ReadOnly strSatzart() As String Get Return "[PatientNummer] = %1" _ & " AND [Datum] = ?MessDatum. AND [intZahl] = " _ & intZahl.ToString & " And [Kurzinfo] Like '" End Get End Property Wobei letzteres alles andere, als ein konstanter Ausdruck ist. Thorsten Dörfler |
|
#6
|
|
|
|
|
"Waldemar Reidel" <waldemar.reidel> schrieb
> das habe ich nicht gewusst :-) in VB6 ging es, das weiß ich noch. Bin > beim überlegen wie es ändern kann. s. meine erste Antwort ("...a read-only variable may be used instead."") Armin |
|
#7
|
|
|
|
|
Thorsten Doerfler schrieb:
> Alternative: > > Private Const intZahl As Integer = 700 > ... > Man sollte sich natürlich schon auf etwas festlegen. Entweder richtiger (bezogen auf das fehlende 'Property'): Private ReadOnly Property strSatzart() As String > Get > Return "[PatientNummer] = %1" _ > & " AND [Datum] = ?MessDatum. AND [intZahl] = " _ > & intZahl.ToString & " And [Kurzinfo] Like '" > End Get > End Property Oder: Private ReadOnly strSatzart As String = "[PatientNummer] = %1" _ & " AND [Datum] = ?MessDatum. AND [intZahl] = " _ & intZahl.ToString & " And [Kurzinfo] Like '" Jetzt dürftest Du genug Alternativen haben. :-) Thorsten Dörfler |
|
#8
|
|
|
|
|
"Waldemar Reidel" <waldemar.reidel> schrieb:
>irgendwie kriege ich nicht hin ein ganz normale Konvertierung von >Integer zu String in einem konstanten Ausdruck Was spricht gegen 'Private ReadOnly ... As String = ...'? |
|
|
| Ähnliche Themen | |
| Suche konvertierung Integer / Long in 2Byte / 4Byte String Hallo eine Byte Variable kann ich mit chr$(x) in einen String konvertieren und mit ASC daraus wieder einen Integer machen nur wie geht das elegant mit Integer in Word (2... |
|
| Konvertierung einer boolschen Bedingung in einen Integer-Ausdruck Hallo, ich habe in SQL häufiger folgendes Problem: ich muss das Ergebnis einer Bedingung innerhalb eines Ausdrucks verwenden. Also vom Prinzip her: DECLARE @flag AS BIT SET... |
|
| Konstanten (long und Konvertierung) Hallo, sind lseek(fd, 0, SEEK_SET) und lseek(fd, 0L, SEEK_SET) |
|
| Konvertierung in Integer Hallo NG, ich habe gleich noch eine Frage. Sie betrifft die zahlreichen Konvertierungsmöglichkeiten. Welche sollte man wann anwenden? Werden die VB-spezifischen Funktionen... |
|
|
Alle Zeitangaben in WEZ. Es ist jetzt 03:35 Uhr. | Privacy Policy
|