exec sp_executesql 
N'declare @col varchar(20) set @col=@column declare @s varchar(500) set @s=''update 测试 set ''+ @col+''=1 where 型号=''''''+@xingHao+'''''' and 资料日期=''''''+@infoDate+'''''''' exec (@s)',
N'@column varchar(20),@xingHao varchar(50),@infoDate datetime',
@column = '冷热冲击', @xingHao = 'AP', @infoDate ='2006-6-1'执行上面这一句,会有错误:
服务器: 消息 241,级别 16,状态 1,行 1
从字符串转换为 datetime 时发生语法错误。为什么呢?
欢迎光临并赐教!!!!!

解决方案 »

  1.   

    exec sp_executesql 
    N'declare @col varchar(20) set @col=@column declare @s varchar(500) set @s=''update 测试 set ''+ @col+''=1 where 型号=''''''+@xingHao+'''''' and 资料日期=''''''+convert(varchar,@infoDate,120)+'''''''' exec (@s)',
    N'@column varchar(20),@xingHao varchar(50),@infoDate datetime',
    @column = '冷热冲击', @xingHao = 'AP', @infoDate ='2006-06-01'
      

  2.   

    scmail81(琳·风の狼(修罗))够厉害,小子赞叹感激中.......!!!