CREATE procedure GetNewsDetails
(
@typeid int,
         @size int)
as
select top @size newsid,newstitle,newsauthor,newshint,uploadtime from news where newstype=@typeid order by uploadtime descGO
我想动态的取出多少条新闻,可是说@size有错误,是不是那个地方不能这样用啊

解决方案 »

  1.   

    CREATE procedure GetNewsDetails
    (
    @typeid int,
             @size int)
    as
    declare @sql varchar(8000)set @sql = 'select top ' + @size + ' newsid,newstitle,newsauthor,newshint,uploadtime from news where newstype=' + @typeid + ' order by uploadtime desc'EXECUTE sp_executesql @sqlGO
      

  2.   

    错误21037:[SQL-DMO]在Text属性"create."语句指定的名称必须与Name属性匹配,而且后面的必须跟有效的TSQL语句
      

  3.   

    将 varchar 值 'select top ' 转换为数据类型为 int 的列时发生语法错误。
      

  4.   

    CREATE procedure GetNewsDetails
    (
    @typeid int,
             @size int)
    as
    declare @sql varchar(8000)set @sql = 'select top ' + convert(varchar(10),@size) + ' newsid,newstitle,newsauthor,newshint,uploadtime from news where newstype=' + convert(varchar(10),@typeid) + ' order by uploadtime desc'EXECUTE sp_executesql @sqlGO
      

  5.   

    过程需要参数 '@statement' 为 'ntext/nchar/nvarchar' 类型。
    解决给你再加80分,高歌
      

  6.   

    好了,运行通过,谢谢高歌了,
    送你20分
    varchar要改成nvarchar