C# で GUI を作成しています。lowerPageBound から upperPageBound への要素を取得する次のコード行があります。
command.CommandText = "Select Top " + rowsPerPage + " " +
CommaSeparatedListOfColumnNames + " From " + tableName +
" WHERE " + columnToSortBy + " NOT IN (SELECT TOP " +
lowerPageBoundary + " " + columnToSortBy + " From " +
tableName + " Order By " + columnToSortBy +
") Order By " + columnToSortBy;
adapter.SelectCommand = command;
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
adapter.Fill(table);
生成された SQL ステートメントは、アクセス データベースで使用するとエラー (adapter.Fill(table) が実行されます) を返しますが、SQL データベースでは正常に動作します。
生成される SQL は次のとおりです。
Select Top 25 [ID], [Business Process], [Tier Level], [Application], [CI ID], [Server], [Server Function], [Data Center], [HA], [DR Equip], [Procedure], [Procedure Tested], [Type], [Outcome], [Overall Status] From Data WHERE ID NOT IN (SELECT TOP 0 ID FROM Data ORDER BY ID) ORDER BY ID;
そして、私が受け取るエラー:
Syntax error in query expression 'ID NOT IN (SELECT TOP 0 ID FROM Data ORDER BY ID)'.
これを何時間も修正しようとしましたが、うまくいきませんでした。同じステートメントがアクセス データベースで機能しない理由がわかりません。どんな助けでも大歓迎です!!