首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

运用SqlParameter不能给Top后面赋值

2012-11-19 
使用SqlParameter不能给Top后面赋值C# codestring sql SELECT TOP @Index * FROM [KeyWorkList]SqlPa

使用SqlParameter不能给Top后面赋值

C# code
string sql = "SELECT TOP @Index * FROM [KeyWorkList]";            SqlParameter[] paras = {new SqlParameter("@Index",SqlDbType.Int,4) };            paras[0].Value = 5;            DataTable ToDayDt= DBHelper.SelectForDT(sql,paras);

一直报 '@Index' 附近有语法错误。的错误,该怎么写呢?

[解决办法]
1.你这个要 用 存储过程,或 表值函数 了

2.动态 SQL 也可以,

create proc test
(
@Index int
)
as
begion

begion try

DECALER @sqlstr NVARCHAR(1000)

SET @sqlstr ='SELECT TOP '+@Index+' * FROM [KeyWorkList]'

EXEC(@sqlstr)
//sp_executesql 这个也可以 
end try
begion catch
return @@error
end catch

end

热点排行