2015-11-03 54 views
-1

我正在使用此表達式來根據其他列在RDLC列中生成「是」或「否」,但它會給出錯誤。爲什麼?爲什麼我的IF語句返回錯誤?

=IIF(Fields!ApprovalsDraftsmanApproval.Value= 0 
or Fields!ApprovalsInspectorApproval.Value= 0 
or Fields!ApprovalsPatwariApproval.Value=0, "No", "False") 

更新:

LOGIC:見我在RDLC報告10列,有3位類型列,現在我把最後一列,以決定是否任何3個BIT列具有FALSE值,則選擇Yes,否則每行中都不包含

+0

什麼錯誤?????你的邏輯是什麼? – Imad

+0

@Imad:看我在RDLC報告中有10列,有3個BIT類型的列,現在我用最後一列來決定3個BIT列中的任何一列是否具有FALSE值,然後選擇是,否則每行中都是NO –

+0

檢查是否存在null/dbnull值在這些列中的任何一個 – haraman

回答

3

IIF是VB特定的語句,它不存在於C#中。而是使用「?」操作員。請看下圖:

var result = Fields!ApprovalsDraftsmanApproval.Value == 0 || 
Fields!ApprovalsInspectorApproval.Value == 0 || 
Fields!ApprovalsPatwariApproval.Value == 0 ? "No" : "False"; 

編輯

你還需要知道 - 在C#中有 「==」 「=」 之間的區別。 「=」用於分配一個值,而「==」用於比較值。所以你不能使用「=」運算符來比較C#中的值。

+0

C#.net,使用asp.net bro –

+0

C#是C#如果是桌面,Web或其他任何東西,則不需要任何東西。 – MajkeloDev

+0

和我在C#中使用IFF但在這種情況下不工作,所以它是一些其他問題不涉及VB或C#語法 –

0

我現在面臨這個問題很多很多次......我的解決辦法是擊穿

if then 
else 
end if 

或者我捉弄與瓦爾()

=IIF(val(Fields!ApprovalsDraftsmanApproval.Value)= 0 
or val(Fields!ApprovalsInspectorApproval.Value)= 0 
or val(Fields!ApprovalsPatwariApproval.Value)=0, "No", "False") 

它幫助我所有的時間

相關問題