Обнаружение нуля в XCode с sqlite - PullRequest
0 голосов
/ 25 марта 2012

Я пишу некоторый код здесь, и у меня есть время.

У меня есть значение в моей базе данных, которое может быть нулевым, как среднее от других данных, если эти данные не 't не было заполнено, в среднем нечего взять.

В моем запросе время от времени будет возвращаться нулевое значение.Значение, которое было бы там, обычно является двойным.Так что у меня есть

NSNumber *num = [NSNumber numberWithDouble:sqlite3_column_double(compiledStatement,7)];

if (num == nil) {
  do something
}
else {
  do something else
}

По какой-то причине это значение по умолчанию равно 0. Когда я NSLog его, это 0, но используя терминал, я могу быть уверен, что мой запрос (через терминал) возвращаетсяnull для этого значения.

Любая помощь будет принята с благодарностью!

Спасибо, ребята!

1 Ответ

5 голосов
/ 25 марта 2012

Вызывая [NSNumber numberWithDouble:], вы гарантируете, что получите NSNumber обратно.Если вы хотите проверить на нулевое значение, вы должны сделать это отдельно, возможно, вызвав sqlite3_column_type () и проверив SQLITE_NULL.Что-то вроде:

if ( sqlite3_column_type(compiledStatement, 7) != SQLITE_NULL )
{
  NSNumber *num = [NSNumber numberWithDouble:sqlite3_column_double(compiledStatement,7)];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...