2016-09-26 18 views
0

目前,我能夠從IBM DB2檢索值。我需要做的就是看看如果它爲空,那麼這個值看起來是什麼樣子。從C代碼中檢索時,db2的空值是什麼樣的?

在我的代碼設置,檢查對大多數空值,除了我顯然不知道這是否是從DB2在我的C代碼檢索一個空值會喜歡什麼條件語句。

當前我有: if(pchr == NULL || pchr ==「Null」|| pchr ==「NULL」|| pchr =='\ 0'|| pchr ==「null」)

其中PCHR是一個字符指針。

顯然,這個條件語句無法檢測從DB2空值。任何幫助將是真棒

+0

沒有進一步的知識:這應該在API定義中記錄。 – Olaf

+0

'pchr ==「空」|| pchr ==「NULL」|| pchr ==「null」'..這些是字符串匹配。 DB2返回NULL。你如何在pchr中存儲值? PL。提供你的查詢 – Cyclotron3x3

+0

調試器說什麼? 'pchr'有哪些值?會比發佈一個問題更容易。注意:'PCHR ==「NULL」'是不是字符串如何比較C. – Olaf

回答

2

空是通常有獨立的變量指出。對於DB2嵌入式SQL,它看起來像這樣:

EXEC SQL BEGIN DECLARE SECTION; 
    VARCHAR pchr[PCHR_LEN+1]; /* nullable field we're interested in */ 
    short pchrInd;   /* flag indicating field is currently null */ 
EXEC SQL END DECLARE SECTION; 
... 
EXEC SQL SELECT phcr INTO :pchr:pchrInd FROM table; // or SELECT pchr INTO :pchr INDICATOR :pchrInd 
if (pchrInd) 
    // pchr is null 
else 
    // process pchr