次のように、パラメーターを使用して 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 付近の構文が正しくありません」
コードのどこが間違っていますか..?