日本語

問題: ArcGIS Pro SDK で無効な SQL ステートメントを使用して SQL クエリを実行するとクエリ エラーが返される

説明

ArcGIS Pro SDK で、無効な SQL ステートメントを使用して SQL クエリを実行すると、次のエラーが返されます。

クエリ エラー: 使用された SQL ステートメントは正しくありません。

原因

ArcGIS Pro SDK 向けの Esri Github Community サンプルのバージョン 1.4 では、Visual Studio 2015 で使用可能な新しい C# 6 フィーチャが使用されています。 たとえば、「範囲内の属性に基づくフィーチャのフィルタリング」に示されるサンプルにあるような内挿文字列 ($) です。
Dockpane1ViewModel.cs の 143 行目には、次のようなコード行があります。

var whereClause = $"{SelectedField} = {quote}{FieldValue}{quote}";
文字列の内挿演算子 (ドル記号 $) が使用されていることに注意してください。 この演算子は、Visual Studio 2015 以降でのみサポートされています。 Visual Studio 2013 でこれを使用すると、コンパイル エラーが発生します。 これを削除するとコンパイル エラーはなくなりますが、コードの実行時にランタイム エラーが返されます。
クエリ エラー: 使用された SQL ステートメントは正しくありません

解決策または対処法

この問題の解決策は、Visual Studio 2013 でサポートされたフィーチャを使用して文字列の値を手動でハードコードするか、Visual Studio をバージョン 2015 にアップグレードして新しい C# 6 フィーチャ (内挿文字列 ($) など) を利用することです。 内挿文字列の詳細については、Stack Overflow の「What's with the dollar sign ($"string")」という投稿をご参照ください。

関連情報