ALTER proc [dbo].[Pro_Update]
(
@tablename nvarchar(50),
@titleid int 
)
as
declare @table nvarchar(50)
declare @sql   int 
set @table = @tablename
set @sql = 'update ' + @table + ' set accessno = accessno + 1 where id ='  + @titleid
exec(@sql)错误提示:
在将 nvarchar 值 'update frontInfo set accessno = accessno + 1 where id =' 转换成数据类型 int 时失败。 谢谢!!!!!

解决方案 »

  1.   

    declare @sql   int --這句有問題
      

  2.   

    @titleid int 这个的问题'update ' + @table + ' set accessno = accessno + 1 where id =' 是字符传 你加一个INT当然有问题
      

  3.   

    create proc [dbo].[Pro_Update]
    (
    @tablename nvarchar(50),
    @titleid int 
    )
    as
    declare @sql nvarchar(4000)
    set @sql = 'update ' + @tablename + '  set accessno = accessno + 1 where id ='  + @titleid
    exec(@sql)
      

  4.   

    看错 是declare @sql   int 的问题 SORRY