0

Where="((ProgModelID == @ProgModelID) || (@ProgModelID == @ShowAll)) && (((FirstName + ' ' + MiddleName + ' ' + LastName) LIKE '%' + @Name + '%') || ((FirstName + ' ' + LastName) LIKE '%' + @Name + '%'))"

TextBoxaをフィルタリングするためにa と比較するときにフルネームを連結する必要がありGridViewますが、実行しようとするとこのエラーが発生します。エラーは、各、およびの周りExpression expectedに配置すると に変わります。[]FirstNameMiddleNameLastName

アップデート

の結果をフィルタリングするためにユーザーが名前を入力できるテキストボックスがありますGridView。にはGridViewがありLinqDataSourceます。問題は、名前がデータベース内で最初、中間、最後という 3 つの部分に分割されていることです。名+姓だけでなく、名+ミドルネーム+姓でフィルタリングできるようにしたいです。ProgModel に関連する領域は、関連するセクションが削除されたDropDownList場合、既に機能するためのものです。@Name

4

2 に答える 2

0

最後にあと 1 つだけ必要)です..これでラップが完了します。&&

これを試して:

Where="((ProgModelID == @ProgModelID) || (@ProgModelID == @ShowAll)) && 
(((FirstName + ' ' + MiddleName + ' ' + LastName) LIKE '%' + @Name + '%') 
|| ((FirstName + ' ' + LastName) LIKE '%' + @Name + '%')))"

または - 読みやすくしても同じ結果が得られるようにするには、(前のいずれかを削除しFirstName + ' 'ます - 次のように:

Where="((ProgModelID == @ProgModelID) || (@ProgModelID == @ShowAll)) && 
((FirstName + ' ' + MiddleName + ' ' + LastName) LIKE '%' + @Name + '%') 
|| ((FirstName + ' ' + LastName) LIKE '%' + @Name + '%'))"

最終的に、エラーメッセージはそれをすべて言います:)

于 2013-07-15T19:33:44.717 に答える