SQL Server 2008 Expressを使用しており、SELECT
パラメーターに基づいてfromテーブルを実行するストアドプロシージャがあります。nvarchar
パラメータとパラメータがありint
ます。
これが私の問題です。私のwhere句は次のようになります。
WHERE [companies_SimpleList].[Description] Like @What
AND companies_SimpleList.Keywords Like @Keywords
AND companies_SimpleList.FullAdress Like @Where
AND companies_SimpleList.ActivityId = @ActivityId
AND companies_SimpleList.DepartementId = @DepartementId
AND companies_SimpleList.CityId = @CityId
このパラメーターは、ASP.NET MVC 3アプリケーションのユーザーによって設定されたフィルター値であり、int
パラメーターが設定されていない可能性があるため、値は0になります。これが私の問題です。ストアドプロシージャは0
、CityId
たとえば、この場合、間違った結果が返されます。したがって、intパラメーターの値が0より大きいかどうかに基づいて、動的なwhere句を使用できると便利です。
前もって感謝します