Ich erhalte den folgenden Fehler, wenn ich meinen Code ausführe. Jede Hilfe bei der Identifizierung der Ursache wird helfen.Falsche Syntax in der Nähe von 'Invest'
0
A
Antwort
0
Es scheint mir, dass T-SQL ein schlechtes Format hat, da zwischen Ptcl-Variablen und anderen Anweisungen keine Leerzeichen stehen.
Dim cmd_Email As New SqlCommand(
"SELECT Main.P_Email FROM Invest INNER JOIN Main ON Invest.Ph_num = Main.Ph_num " & _
"WHERE Invest.P_num =" & Ptcl & " UNION " & _
"Select Main.P_Email FROM Invest INNER JOIN Main ON Invest.Ass1 = Main.Ph_num " & _
"WHERE Invest.P_num =" & Ptcl & " UNION " & _
"SELECT Main.P_Email FROM Invest INNER JOIN Main ON Invest.Ass2 = Main.Ph_num " & _
"WHERE Invest.P_num = " & Ptcl, connection)
Die obige Abfrage wurde in Bezug auf diese Leerzeichen behoben. Aber am besten ist es, Ihre Abfrage zu parametrisieren, eine lesbarere Struktur zu haben, sich vor SQL-Injektionen zu schützen und eine robustere Methode zu haben, um Argumente an die Abfrage selbst zu übergeben.
Hoffe, dies hilft
+1
Danke, das hat mir sehr geholfen. Ich war auch in der Lage, die Abfrage zu parametrisieren. – Loic
Verwandte Themen
- 1. Falsche Syntax in der Nähe von "Worker", falsche Syntax in der Nähe des Schlüsselwortes "AS"
- 2. SQL Server: falsche Syntax in der Nähe von '=' Falsche Syntax in der Nähe des Schlüsselworts 'WHERE'
- 3. falsche Syntax in der Nähe von 'Textdaten'
- 4. Fehler Falsche Syntax in der Nähe von ','
- 5. falsche Syntax in der Nähe von 'ID'
- 6. Falsche Syntax in der Nähe von etwas
- 7. Falsche Syntax in der Nähe von "WHERE"
- 8. Falsche Syntax in der Nähe von 'sp_executesql'
- 9. Falsche Syntax in der Nähe von ')'
- 10. Cis falsche Syntax in der Nähe von
- 11. Falsche Syntax in der Nähe von 0
- 12. Falsche Syntax in der Nähe von Komma
- 13. System.Data.SqlClient.SqlException: Falsche Syntax in der Nähe von ''
- 14. Falsche Syntax in der Nähe von '='. [WindowsForm]
- 15. Falsche Syntax in der Nähe von "Full_Name"
- 16. Falsche Syntax in der Nähe von 'Yeri'
- 17. CTE falsche Syntax in der Nähe „)“
- 18. System.Data.SqlClient.SqlException: 'Falsche Syntax in der Nähe', '.' C#
- 19. VBNET Sql falsche Syntax in der Nähe ')'
- 20. System.Data.SqlClient.SqlException: 'Falsche Syntax in der Nähe') '.'
- 21. falsche Syntax in der Nähe '-' 2
- 22. SQL Server - Falsche Syntax in der Nähe)
- 23. falsche Syntax in der Nähe des ‚ORDER‘
- 24. System.Data.SqlClient.SqlException: falsche Syntax in der Nähe '('
- 25. Falsche Syntax in der Nähe von ','. bei Verwendung von Exec
- 26. Falsche Syntax in der Nähe von '.' in SQL
- 27. Fehler in SQL-Abfrage Falsche Syntax in der Nähe von
- 28. com.microsoft.sqlserver.jdbc.SQLServerException: Falsche Syntax in der Nähe von '@ P0'
- 29. Falsche Syntax in der Nähe von '@starttimestamp'. Expecting SELECT oder (
- 30. SQL Server Falsche Syntax in der Nähe von "
Verwenden Sie Parameter, um SQL-Injektion und Formatierungsfehler zu vermeiden. Würde Ihre aktuelle sql nicht lesen "WHERE Invest.P_num = 111UNIONSELECT ..." – LarsTech
setzen Sie diese sql in einer Zeichenfolge Variable und drucken Sie es aus, so dass Sie es ohne alle concat-Operatoren sehen können, werden Ihre Fehler viel mehr auffallen klar so – soohoonigan