1

次のような結果セットを sqlite から取得します。

Null、23、34、45 ((たとえば) 4 つのアイテムが返されます)

null値は正しいですが、次のコードを使用してobjective-cの配列に追加しようとすると、エラーが発生します-Null cstring-これが私のコードです:

[配列 addObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)]];

null を配列に追加してゼロに置き換える前に、null のテストに失敗しましたが、これまでのところ運がありません。

配列にゼロを追加できるように、誰かがヌル値を処理するのを手伝ってくれませんか。

助けてくれてありがとう。

4

2 に答える 2

2

Hot Licks が言ったように、戻り値を確認し、そこから作成された文字列を追加するか、[NSNull null].

const unsigned char *column0 = sqlite3_column_text(statement, 0);
if (column0)
    [array addObject:[NSString stringWithUTF8String:(const char *)column0]];
else
    [array addObject:[NSNull null]];
于 2013-11-06T23:35:01.803 に答える
1

提案されているように null を処理することは、適切なオプションです。

クエリを変更して、列が常に をTEXT使用するように強制しCAST(column_name AS TEXT)たり、 を使用して NULL を強制的に空の文字列にすることもできますCOALESCE(column_name, '')

于 2013-11-07T03:30:08.770 に答える