首页 新闻 会员 周边

TSQL,sp_executesql 我这个SQL 总报错 过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@parameters

0
[已解决问题] 解决于 2012-04-28 09:48
declare @InsertSQL nvarchar(MAX);
    set @InsertSQL = N'Insert Into dbo.['+@tableName+N'](ParentID,SourceID,NickName,Content,IP,City,BeFiltered,[Disable])
    values (@ParentID,@SourceID,@NickName,@Content,@IP,@City,@BeFiltered,@Disable);select @InsertedID = SCOPE_IDENTITY();';
    
    exec sp_executesql @InsertSQL,
    '@ParentID int,@SourceID int,@NickName nvarchar(20),@Content nvarchar(300),@IP nvarchar(30),@City nvarchar(30),@BeFiltered bit,@Disable bit,@InsertedID int output',
    @ParentID,
    @SourceID,
    @NickName,
    @Content,
    @IP,
    @City,
    @BeFiltered,
    @Disable,
    @InsertedID output;
fun5的主页 fun5 | 初学一级 | 园豆:4
提问于:2012-04-26 10:27
< >
分享
最佳答案
0
declare @InsertSQL nvarchar(MAX);
    set @InsertSQL = N'Insert Into dbo.['+@tableName+N'](ParentID,SourceID,NickName,Content,IP,City,BeFiltered,[Disable])
    values (@ParentID,@SourceID,@NickName,@Content,@IP,@City,@BeFiltered,@Disable);select @InsertedID = SCOPE_IDENTITY();';
    
    exec sp_executesql @InsertSQL,
    N'@ParentID int,@SourceID int,@NickName nvarchar(20),@Content nvarchar(300),@IP nvarchar(30),@City nvarchar(30),@BeFiltered bit,@Disable bit,@InsertedID int output',
    @ParentID,
    @SourceID,
    @NickName,
    @Content,
    @IP,
    @City,
    @BeFiltered,
    @Disable,
    @InsertedID output;

已经修正错误

奖励园豆:5
小材小用 | 小虾三级 |园豆:639 | 2012-04-27 13:17
其他回答(1)
0

你在创建过程的时候并没有给他输入参数,为什么你在执行的时候会给它输入参数呢?

┢┦偉 | 园豆:1240 (小虾三级) | 2012-04-26 10:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册