exec sp_executesql N'SELECT DISTINCT TOP @nrows name FROM test WHERE name like @term', N'@nrows int,@term nvarchar(2)', @nrows=10,@term = N'n%'第 1 行: '@nrows' 附近有语法错误。应该怎么改啊
解决方案 »
- Intelligencia.UrlRewriter组件问题,不能够转移到设定的URL
- gridview能否实现按条件查询,批量更新
- 哪种方法的执行效率高
- 好心人帮忙!
- 如果存储过程中,又有返回行集,又有输出参数,我怎们得到他们,连接执行一次就能得到吗??ASP.NET程序该怎们写啊??
- 求一SQL语句!
- 控件的隐藏和显示?
- 新手老手来进来!!!!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- 在页面刷新后如何将页面定位到刷新前的位置
- 如何实现让IE最右端的下拉条变成想要的颜色,像www.asp.net那样
- 应用ajax后 上传到网站上 同时需要上传些什么文件呢
- 自定义控件参数传递问题
例如
where 字段名=@term
SET @nrows = 10
SET @term = 'B%'
EXEC('SELECT DISTINCT TOP '+@nrows+' name FROM test WHERE name like '''+@term+'''')
这条语句就ok了
SET @nrows = 10
SET @term = 'B%'
EXEC('SELECT DISTINCT TOP '+@nrows+' name FROM test WHERE name like '''+@term+'''')你是在回避问题哦
这个我也知道出错了就想知道错在哪里
使用 sp_executesql 时SQL Server会对语句进行编译,对于你给出的语句,在编译时就已经报错.
因为编译时 @nrows 还没有被替换成数字10,这里他是一个字符串