set @sql='insert into '+@tn+ ' (LetterID,ThemeID,BBSUID,LetterContent)
VALUES ('+@LetterID+','+@ThemeID+','+@BBSUID+','+@LetterContent+')'
exec (@sql)
这儿先print @sql打出来看看是那儿的问题,好像是你值没和字段对应上吧,@BBSUID应该是int的,但你的值是sdsddsdsdsd,传错了吧
VALUES ('+@LetterID+','+@ThemeID+','+@BBSUID+','+@LetterContent+')'
exec (@sql)
这儿先print @sql打出来看看是那儿的问题,好像是你值没和字段对应上吧,@BBSUID应该是int的,但你的值是sdsddsdsdsd,传错了吧
VALUES ('''+@LetterID+''','''+@ThemeID+''','''+@BBSUID+''','''+@LetterContent+''')'
ALTER PROCEDURE [dbo].[OLTR_BBSLetter08Update] (
@LetterID nvarchar(30),
@ThemeID nvarchar(30),
@BBSUID nvarchar(30),
@LetterContent nvarchar(3000),
@AddTime smalldatetime,
@IsDigest bit,
@Reply bit,
@NoShow bit,
@Re1 nvarchar(30),
@Re2 nvarchar(30)
)
ASSET NOCOUNT ON
DECLARE
@tn varchar(100),
@sql varchar(4000),
@yy nvarchar(30)
set @yy=getdate()
set @yy=substring(@yy,9,2)+0
if(@yy=8)
begin
set @tn='OLTR_BBSLetter0'+@yy
end
else
begin
set @tn='OLTR_BBSLetter'+@yy
end
set @sql='UPDATE '+@tn+' SET
[ThemeID] ='+ @ThemeID+',
[BBSUID] ='+ @BBSUID+',
[LetterContent] ='+ @LetterContent+',
[AddTime] ='+@AddTime+', [IsDigest] ='+@IsDigest+', [Reply] ='+@Reply+' ,[NoShow] ='+@NoShow+', [Re1] ='+ @Re1+', [Re2] ='+ @Re2+'
WHERE
[LetterID] ='+ @LetterIDexec (@sql)我用 exec [dbo].[OLTR_BBSLetter08Update] '08080005','08080003','08080003','abcdefg,'2008-9-18','0','1','1','',''试验
提示我 ‘对数据类型而言运算符无效。运算符为 add,类型为 bit。‘
’从字符串转换为 smalldatetime 数据类型时发生语法错误。’
应该怎么解决