Вставить нулевые значения в базу данных Sqlite? - PullRequest
0 голосов
/ 06 апреля 2010

Я работаю над приложением для iPhone, где извлекаю данные из файла XML и вставляю их в базу данных sqlite, расположенную в приложении.Я могу успешно выполнить этот процесс, но, похоже, что если я попытаюсь выполнить sqlite3_bind_text с NSString со значением «nil», приложение быстро умрет.

Это пример кода, который завершается ошибкой: (модифицировано для этого примера)

// idvar = 1
// valuevar = nil

const char *sqlStatement = "insert into mytable (id, value) VALUES(?, ?)";
sqlite3_stmt *compiledStatement = nil;  
sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL);

sqlite3_bind_int(compiledStatement, 1, [idvar intValue]);;
sqlite3_bind_text(compiledStatement, 2, [valuevar UTF8String], -1, SQLITE_TRANSIENT);

1 Ответ

0 голосов
/ 06 апреля 2010

Вы пробовали что-то вроде:

sqlite3_bind_text(compiledStatement, 2, valuevar==nil?"":[valuevar UTF8String], -1, SQLITE_TRANSIENT);
...