1

実行時に渡されるビジネスユニットの値に従ってクエリを実行する必要があります。ビジネスユニットがnullの場合、AND条件は実行されるべきではなく、nullでない場合は、渡されたビジネスユニットを取得する必要があります。

//SQLクエリ

SELECT nvrEmpCode, nvrEmpName 
FROM tblHRIMS_EmployeeDetail
WHERE (intCategoryID NOT IN (0, 1)) AND (nvrResigned = 'No') 
AND nvrBusinessunit=

これらはすべて、StoredProcedureとしてではなく、SQLDatasourceで実行する必要があります。これを達成する方法は?

4

3 に答える 3

1

あなたのWHERE状態は次のようになります:

WHERE (intCategoryID NOT IN (0, 1)) AND (nvrResigned = 'No') 
AND (@businessunit IS NULL OR nvrBusinessunit=@businessunit)
于 2012-09-18T07:16:09.623 に答える
1

SQLクライアントを使用していると仮定します。

SELECT nvrEmpCode, nvrEmpName 
FROM tblHRIMS_EmployeeDetail
WHERE (intCategoryID NOT IN (0, 1)) AND (nvrResigned = 'No') 
AND (nvrBusinessunit=@BU OR @BU is null)

次に、パラメータの値を渡す必要があります。

command.Parameters.AddWithValue(@BU, yourValue)
于 2012-09-18T07:16:31.090 に答える
0
SELECT        nvrEmpCode, nvrEmpName, @Businessunit AS varchar

FROM            tblHRIMS_EmployeeDetail
WHERE        (intCategoryID NOT IN (0, 1)) AND (nvrResigned = 'No') 
AND (nvrBusinessUnit = (CASE WHEN @Businessunit = '' THEN nvrBusinessunit ELSE @Businessunit END))
于 2012-09-18T07:34:50.563 に答える