2015-05-08 134 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