首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

[非常简单]动态SQL语句总是出错[马上给分]解决方法

2012-01-12 
[非常简单]动态SQL语句总是出错[马上给分]ALTERPROCEDURE[dbo].[Pr_UpdateOnePermit](@HolidayIDint,@Perm

[非常简单]动态SQL语句总是出错[马上给分]
ALTER   PROCEDURE   [dbo].[Pr_UpdateOnePermit]
(
@HolidayID   int,  
@PermitField   nvarchar(50),  
@IdeaField   nvarchar(50),  
@UserNameField   nvarchar(50),
@PermitValue   int,
@IdeaValue   nvarchar(500),
@UserNameValue   nvarchar(50),
@StartTime   DateTime,
@EndTime   DateTime
)
AS

exec( 'update   [holiday]   set   '   +   @PermitField   +   '= ' ' '   +   @PermitValue   +   ' ' ', '+   @IdeaField   +   '= ' ' '
  +   @IdeaValue   +   ' ' ', '   +   @UserNameField   +   '= ' ' '   +   @UserNameValue   +   ',StartTime= ' ' '+@StartTime+ ',EndTime= ' ' '+@EndTime+ ' ' '   where   ID= '   +   @HolidayID)


原来这个存储过程没错,自从我加了两个字段StartTime跟EndTime之后就不行了,提示: '08 '   附近有语法错误。

[解决办法]
--行了
exec( 'update [holiday] set ' + @PermitField + '= ' ' ' + @PermitValue + ' ' ', '+ @IdeaField + '= ' ' ' + @IdeaValue + ' ' ', ' + @UserNameField + '= ' ' ' + @UserNameValue + ' ' ',StartTime= ' ' '+@Start+ ' ' ',EndTime= ' ' '+@End+ ' ' ' where ID= ' + @HolidayID)

热点排行