@SqlStr是varchar的不能把@Content 加上去

解决方案 »

  1.   

    CREATE procedure AddReply  
    @UserTable nvarchar(25),  
    @cjtitle varchar(255),  
    @TyboardID int,
    @Content text  
    As  
    declare @SqlStr varchar(600)  
    set @SqlStr='Insert Into ' + @UserTable + '(topic,Boardid,body)  
    values('''+ @cjtitle +''','+str(@TyboardID)+','''+ cast(@Content as varchar) +''')'  
    exec(@SqlStr)  
    Go  create table ta(topic varchar(10),boardid int,body text)
    goexec addreply 'ta','a',1,'adfasdf'select * from ta
    drop proc addreplydrop table ta
      

  2.   

    create procedure AddReply  
    @UserTable nvarchar(25),  
    @cjtitle varchar(255),  
    @TyboardID int,  
    @Content text  
    As  
    declare @SqlStr varchar(600)  
    set @SqlStr=N'Insert Into ' + @UserTable + '(topic,Boardid,body)  
    values('''+ @cjtitle +''','+str(@TyboardID)+',@Content1)'  
    exec sp_executesql @SqlStr,N'@Content1 int  ', @Content1=@Content   
    Go 
      

  3.   


    topic      boardid     body                         
    ---------- ----------- ------------------------------ 
    a          1           adfasdf(所影响的行数为 1 行)