C#SQL顶部作为参数
尝试在我的sql语句中参数化TOP的值。
SELECT TOP @topparam * from table1 command.Parameters.Add("@topparam",SqlDbType.VarChar, 10).Value = somevalue.ToString();  这似乎并不奏效。 任何人有任何build议? 
 只是为了澄清,我不想使用存储过程。 
在SQL Server 2005及更高版本中 ,您可以这样做:
 SELECT TOP (@topparam) * from table1 
你需要至less有SQL Server 2005.这个代码工作正常2005/8例如…
 DECLARE @iNum INT SET @iNum = 10 SELECT TOP (@iNum) TableColumnID FROM TableName 
如果你有SQL Server 2000,试试这个…
 CREATE PROCEDURE TopNRecords @intTop INTEGER AS SET ROWCOUNT @intTop SELECT * FROM SomeTable SET ROWCOUNT 0 GO 
你可以写一个内联查询:
EXEC'SELECT TOP'+ @topparam +'* FROM …'
parsing为int,这将防止SQL注入攻击。