读书人

运用SqlParameter不能给Top后面赋值

发布时间: 2012-11-19 10:18:51 作者: rapoo

使用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

读书人网 >asp.net

热点推荐