try:
declare @s  varchar(8000)
set @s = 
' INSERT INTO User_'+LTRIM(@idItem)+'_Bbs(strTitle,idWriter,strWriter,txtContent,intContentSize,intLogo,strCategory,strIP,nickname) VALUES('+@strTitle+','+@idWriter+','+@strWriter+','+@txtContent+','+cast(@intContentSize as varchar)+','+cast(@intLogo as varchar)+','+@strCategory+','+@strIP+','+@strnickname'
exec(@s)

解决方案 »

  1.   

    CREATE PROCEDURE sp_TechForum_Compose
    @idWriter int,
    @strWriter varchar(16),
    @idItem int,
    @strTitle varchar(100),
    @txtContent varchar(6000),
    @intContentSize int = 0,
    @intLogo int = 0,
    @strIP char(15),
    @strCategory char(8),
    @strItem varchar(20),
    @strnickname varchar(16)
    AS
    BEGIN 
    declare @sql=' INSERT INTO User_'+cast(@idItem as varchar(9))+'_Bbs(strTitle,idWriter,strWriter,txtContent,intContentSize,intLogo,strCategory,strIP,nickname) VALUES('''+@strTitle+''','+ cast(@idWriter as varchar9)) +','''+
    strWriter+ ''','''+@txtContent+''','''+cast(@intContentSize as varchar(9)+','
    +cast(@intLogo as varchar(9)+','''+@strCategory+''','''+@strIP+''','''+@strnickname+''')'
    exec(@sql)
    End 
    go
      

  2.   

    还是错阿!+@strnickname'跟exec(@s)错!
      

  3.   

    CREATE PROCEDURE sp_TechForum_Compose
    @idWriter int,
    @strWriter varchar(16),
    @idItem int,
    @strTitle varchar(100),
    @txtContent varchar(6000),
    @intContentSize int = 0,
    @intLogo int = 0,
    @strIP char(15),
    @strCategory char(8),
    @strItem varchar(20),
    @strnickname varchar(16)
    AS
    declare @s nvarchar(4000)
    set @s='INSERT INTO User_'+cast(@idItem as varchar)+'_Bbs(strTitle,idWriter,strWriter,txtContent,intContentSize,intLogo,strCategory,strIP,nickname) VALUES(@strTitle,@idWriter,@strWriter,@txtContent,@intContentSize,@intLogo,@strCategory,@strIP,@strnickname)'
    exec sp_executesql @s
    ,N'@idWriter int,@strWriter varchar(16),@strTitle varchar(100),@txtContent varchar(6000),@intContentSize int ,@intLogo int,@strIP char(15),@strCategory char(8),@strItem varchar(20),@strnickname varchar(16)'
    ,@strTitle,@idWriter,@strWriter,@txtContent,@intContentSize,@intLogo,@strCategory,@strIP,@strnickname
    go
      

  4.   

    TO Rotaxe(程序员) 
    也错阿!
    @sql附近
      

  5.   


    CREATE PROCEDURE sp_TechForum_Compose
    @idWriter int,
    @strWriter varchar(16),
    @idItem int,
    @strTitle varchar(100),
    @txtContent varchar(6000),
    @intContentSize int = 0,
    @intLogo int = 0,
    @strIP char(15),
    @strCategory char(8),
    @strItem varchar(20),
    @strnickname varchar(16)
    AS
    BEGIN 
    declare @sql varchar(8000)
    select @sql='INSERT INTO User_'+cast(@idItem as varchar(9))+'_Bbs(strTitle,idWriter,strWriter,txtContent,intContentSize,intLogo,strCategory,strIP,nickname) VALUES('''+@strTitle+''','+ cast(@idWriter as varchar(9)) +','''+
    @strWriter+ ''','''+@txtContent+''','''+cast(@intContentSize as varchar(9))+','
    +cast(@intLogo as varchar(9))+','''+@strCategory+''','''+@strIP+''','''+@strnickname+''')'
    exec(@sql)
    End 
    go