Sharepointフィールドでorderby byを実行するとき。次のエラーが生成されます。camlクエリエラー:IS NULLまたはLIKE演算子を使用している場合を除いて、text、ntext、およびimageデータ型を比較またはソートすることはできません。
IS NULLまたはLIKE演算子を使用する場合を除いて、text、ntext、およびimageデータ型を比較またはソートすることはできません。 説明:現在のWeb要求の実行中に、未処理の例外が発生しました。エラーの詳細とコード内のどこで発生したのかについては、スタックトレースを参照してください。
例外の詳細:System.Data.SqlClient.SqlException:IS NULLまたはLIKE演算子を使用している場合を除いて、text、ntext、およびimageデータ型を比較またはソートすることはできません。次のように
CAMLクエリORDERBY句は次のとおりです。
<Where>
<And>
<And>
<Eq>
<FieldRef Name='ContentType' />
<Value Type='Choice'>Documents</Value>
</Eq>
<Eq>
<FieldRef Name='UserID' />
<Value Type='Text'>UserID_VAL</Value>
</Eq>
</And>
<Neq>
<FieldRef Name='Email' />
<Value Type='Text'>NA</Value>
</Neq>
</And>
</Where>
<OrderBy>
<FieldRef Name='Description' Ascending='TRUE' Nullable='TRUE'/>
</OrderBy>
ソートされたフィールドを説明し、それがテキストのリスト 説明シングルラインで、次のデータ型を持っています。
この問題の解決方法
ありがとうございます。複数行の列(注)を使用して並べ替えしよう
よくこの記事を見ました。しかし、別の方法があるはずです。空白にNULL値を代入してソートできるようにするCAMLクエリの機能がありますか? – TrustyCoder
ここでスローされたエラーは、CAMLからではなくデータベースからのものです。計算された列を作成したり、データセット内のすべての項目をフェッチしてソートしない限り、操作は機能しません。 –
CAMPはSQLに変換されます。したがって、必要なSQLを生成するようにCAMLを変更する方法があります。 – TrustyCoder