2016-09-26 4 views
0

現在、IBM DB2から値を取得できます。私ができる必要があったのは、nullの場合にその値がどのように見えるかを見ることです。db2からのヌル値はCコードから取得されたときのように見えますか?

は私のコードでは、私は明らかにそれは私のCコードでDB2から取得された場合は、null値が希望かわからない除いて、ほとんどのnull値をチェックする条件文を設定します。現在

私が持っている: 場合(PCHR == NULL || PCHR == "ヌル" || PCHR == "NULL" || PCHR == '\ 0' || PCHR ==「ヌル」) PCHRが文字ポインタである

どうやらこの条件文はDB2からNULL値を検出することはできません。すべてのヘルプは素晴らしい

+0

これ以上の知識はありません。これはAPI定義に記載する必要があります。 – Olaf

+0

'pchr ==" Null "|| 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 
関連する問題