sp_executesql 问题。

631799 2004-10-27 04:39:12
exec sp_executesql N'set rowcount @num
select id,title,link_url,logo_url from [163car_adv] where board=@board order by b_index',N'@board varchar(50),@num int',N'index',3

其中board为字符串型。
为什么 board=@board 改成 board=''@board'' 反而不对呢?
exec sp_executesql N'set rowcount @num
select id,title,link_url,logo_url from [163car_adv] where board=''@board'' order by b_index',N'@board varchar(50),@num int',N'index',3

...全文
121 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
631799 2004-10-28
  • 打赏
  • 举报
回复
也就是说用exec sp_executesql 是不管数据类型的,都不用加''
而exec 是要加'' 的。
zheninchangjiang 2004-10-28
  • 打赏
  • 举报
回复
那是参数传递,这个应该很明白
631799 2004-10-28
  • 打赏
  • 举报
回复
那为什么加了''会找不到要的记录集呢?
lsxaa 2004-10-27
  • 打赏
  • 举报
回复
不用加 '' 在 N'@board varchar(50) 这里已经定义了,会自动进行转换的
Andy__Huang 2004-10-27
  • 打赏
  • 举报
回复
你沒用()

exec sp_executesql (N'set rowcount @num
select id,title,link_url,logo_url from [163car_adv] where board=@board order by b_index',N'@board varchar(50),@num int',N'index',3)

試一下

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧