0

このコードを使用して、db からデータを選択しようとしています:

 getForecastsCommand.CommandText = @"SELECT TOP @Count * FROM Forecasts Order by [ForecastId] DESC";

   var countParam = getForecastsCommand.CreateParameter();
   countParam.ParameterName = "@Count";
   countParam.Value = count;
   countParam.DbType = DbType.Int32;
   getForecastsCommand.Parameters.Add(countParam);

しかし、それはうまくいきません:

Incorrect syntax near '@Count'.

うまくいかないのはなぜですか?

4

2 に答える 2

2

これを試してみてくださいSELECT TOP (@Count) * FROM Forecasts Order by [ForecastId] DESC

@countは括弧で囲まれていることに注意してください。

于 2012-07-20T11:56:17.493 に答える
0

その構文は、MicrosoftAccessデータベースのように見えます。そうである場合、TOPのパラメータをサポートしていません。文字列を作成する必要があります。

@"SELECT TOP " + Count + " * FROM Forecasts Order by [ForecastId] DESC";
于 2012-07-20T11:29:06.640 に答える