日期:2014-05-17  浏览次数:20397 次

sql语句的错误,其中的一段,大家帮帮忙
截图好慢,直接打上来
--表Site 中 FatherClassId 是Int型,

declare @FatherClassId int
set @FatherClassId=1001
declare @TempSelect nvarchar(500)     
set @TempSelect ='insert into Site(FatherClassId)values('''+@FatherClassId+''')'
print @TempSelect

报错
在将 varchar 值 'insert into Site(FatherClassId)values('' 转换成数据类型 int 时失败。
应该不用转型啊,大家帮忙下哦
SQL

------解决方案--------------------
int类型的字段,你愣是给两边加了单引号,当然报类型异常了


declare @FatherClassId int
set @FatherClassId=1001
declare @TempSelect nvarchar(500)     
set @TempSelect ='insert into Site(FatherClassId)values(@FatherClassId)'
print @TempSelect

------解决方案--------------------
declare @FatherClassId int
set @FatherClassId=1001
declare @TempSelect nvarchar(500)    
set @TempSelect = 'insert into Site(FatherClassId)values(@FatherClassId)'
exec sp_executesql @TempSelect,N'@FatherClassId  int',@FatherClassId
print @TempSelect