2015-05-08 131 views
-4

當我Exec的此查詢它說:SQL語法錯誤

附近有語法錯誤)「。

@username nvarchar(50), 
@routenaam nvarchar(50) 

as 
begin 
DECLARE @sql NVARCHAR(MAX) = 'SELECT count(*) FROM ' [email protected]+'routeinformatie'+' where [email protected])' 


EXEC sp_executeSQL @sql,N' 
@username nvarchar(50), 
@routenaam nvarchar(50) 
',@username,@routenaam 
end 

出了什麼問題?

+2

哪裏可以找到「)」? – jarlh

+3

我當然希望你能清理那些用戶輸入字符串...... –

+2

在實際的SQL代碼而不是應用程序代碼中看到一個SQL注入漏洞令人印象深刻。可怕,但令人印象深刻。 – David

回答

2

你必須在這條線在最後一個開括號:在SELECT

DECLARE @sql NVARCHAR(MAX) = 'SELECT count(*) FROM ' [email protected]+'routeinformatie'+' where [email protected])' 
+0

沒有注意到謝謝你現在的作品。 – tosorro