Я использую следующий код для вставки в sqllite с помощью iphone
- (Недействительными) сохранить {
AlarmData *alarm=[CallSettings getAlarm];
alarm.subject=subjectText.text;
alarm.sound=tempDefault;
NSDate *dat=[datePicker date];
NSString *da=(NSString *)[NSString stringWithFormat:@"%@",dat];
alarm.date=da;
//alarmData.date=da;
NSLog([CallSettings getAlarm].subject);
NSLog([CallSettings getAlarm].no1);
NSLog([CallSettings getAlarm].lname);
NSLog([CallSettings getAlarm].name);
NSLog([CallSettings getAlarm].date);
NSLog([CallSettings getAlarm].sound);
NSString *fullName=[NSString stringWithFormat:@"%@ %@",alarm.name,alarm.lname];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"appointment.sql"];
sqlite3 *database;
if(sqlite3_open([filePath UTF8String], &database) == SQLITE_OK) {
// Setup the SQL Statement and compile it for faster access
const char *sqlStatement = "select * from Alarm";
sqlite3_stmt *compiledStatement;
if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {
// Loop through the results and add them to the feeds array
compiledStatement=NULL;
const char *sql = "insert into Alarm(name) values ('Ahmed')";
if(sqlite3_prepare_v2(database, sql, -1, &compiledStatement, NULL) != SQLITE_OK);
else {
if(SQLITE_DONE != sqlite3_step(compiledStatement))
NSAssert1(0, @"Error while inserting data. '%s'", sqlite3_errmsg(database));
else
//SQLite provides a method to get the last primary key inserted by using sqlite3_last_insert_rowid
//coffeeID = sqlite3_last_insert_rowid(database);
NSLog(@"Value is inserted");
// sqlite3_reset(compiledStatement);
}
}
}
}
sqlite3_close(database);
} // конец метода сохранения
При вызове этого метода происходит сбой приложения и возникает следующая ошибка
2011-01-10 19: 23: 56.307 Назначение [521: 207] * Завершение приложения из-за необработанного исключения 'NSInvalidArgumentException', причина: '* + [NSString stringWithUTF8String:]: NULL cString'
2011-01-10 19: 23: 56.321 Назначение [521: 207] Стек: (
843263261,
825818644,
842812211,
842812115,
863177559,
21701,
844154820,
19557,
846200172,
843020431,
844097412,
844097260,
844097204,
844096268,
844356084,
846188672,
862896011,
843011267,
843009055,
860901832,
843738160,
843731504,
10565,
10480
)
прекращение вызова после выброса экземпляра 'NSException'
Программа получила сигнал: «SIGABRT».
(ГБД)
и приложения не запускаются в следующий раз до тех пор, пока я не удалю приложение с моего устройства, я думаю, что файл базы данных выйдет из строя