1

次のように、パラメーターを使用して SQL クエリとしてさまざまな値を渡そうとしています。

SELECT TOP 5 * 
FROM Events 
WHERE EID NOT IN (SELECT TOP @limit EID FROM Events ORDER BY EID)

パラメータの値で指定された最初の n 行の後のレコードを検索します@limit

たとえば、値 10 を指定すると、クエリは行 6 ~ 10 を返します。

今、私がやっていることは

string str = "SELECT TOP 5 * FROM Events WHERE EID NOT IN (SELECT TOP @limit EID FROM Events ORDER BY EID)"

SqlCommand cmd=new SqlCommand(str,con); // con is the connection string

cmd.Parameters.AddWithValue("limit", value);

SqlDataAdapter sda= new SqlDataAdapter(cmd);
DataSet ds=new DataSet();
sda.Fill(ds);

return ds;

次に、データセットdsは にバインドされDatalistます。

現在、エラーがスローされます

「@limit 付近の構文が正しくありません」

コードのどこが間違っていますか..?

4

1 に答える 1