Falsche syntax in der Nähe '<'. Das label 'xmlns' wurde bereits deklariert. Label-Namen müssen eindeutig sein innerhalb einer Abfrage, der batch oder die gespeicherte Prozedur
Ich erhalte einen string aus einer Datenbank im xml-format und versuchen, ein update der xml-Daten mit der folgenden Abfrage:
ExecuteNonQuery("Update Logs SET Message = " + encryptedMessage + " WHERE ID = " + message.Id);
aber es gibt mir die Fehlermeldung:
Incorrect syntax near '<'.
The label 'xmlns' has already been declared. Label names must be unique within a query batch or stored procedure.
An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.
An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.
An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.
An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.
An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.
Habe ich das Gefühl es könnte etwas mit den Zitaten zu tun, aber ich bin mir nicht sicher. Ich habe versucht, verschiedene Optionen, wie einzelne Zitate, Gemisch,etc.
Wenn ich zum Beispiel tun:
ExecuteNonQuery("Update Logs SET Message = " + encryptedMessage.Replace('"','\'')+ " WHERE ID = " + message.Id);
Wäre das auf Dauer-update der Anführungszeichen in der Nachricht, um einzelne Zitate. Ich will nicht, dies zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, wie es aussieht, fehlen die Anführungszeichen um die Botschaft:
Die XML selbst hat wahrscheinlich einfache Anführungszeichen als gut, so müssen Sie möglicherweise zu entkommen, die (z.B. ändern einer einzigen Zitat zu zwei einfachen Anführungszeichen innerhalb der Nachricht)
Als @Tomek erwähnt, sollten Sie die Verwendung von parametrisierten Abfragen. Ist es mehr sicher und beseitigt die Notwendigkeit für die Durchführung der conversions vorgeschlagen, @Dan Sueava Antwort.
Verwenden parametrisierten query und command-Objekt statt, Ihre encryptedMessage möglicherweise Zeichen enthalten, die gegen die syntax der UPDATE-Anweisung.