向表中插入记录
向数据表Notebook中添加一条新的记事日志,成功插入记录后,会显示一个提醒视图。
char *errMsg;- (IBAction)addNote:(id)sender {
const char *dbpath = [databasePath UTF8String];
NSString *insertSQL = [NSString stringWithFormat:@"INSERT INTO Notebook(Whattime, Address, What, Who, Note) VALUES(\"%@\", \"%@\",\"%@\", \"%@\", \"%@\")", self.whenField.text, self.whereField.text, self.whatField.text, self.whoField.text, self.noteView.text]; const char *insert_stmt = [insertSQL UTF8String];if(sqlite3_open(dbpath, ¬eDB) == SQLITE_OK){
self.whenField.text = @""; self.whereField.text = @""; self.whatField.text = @""; self.whoField.text = @""; self.noteView.text = @""; [self doAlert:@"添加成功!"]; } else { NSLog(@"插入记录错误: %s", errMsg); sqlite3_free(errorMsg); }if (sqlite3_exec(noteDB, insert_stmt, NULL, NULL, &errMsg) == SQLITE_OK) {
sqlite3_close(noteDB);
}
}
显示提醒视图的代码:
UIAlertView *alertDialog; alertDialog = [[UIAlertView alloc] initWithTitle:@"提示消息" message:inMessage delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertDialog show]; }- (void)doAlert:(NSString *)inMessage{
错误信息的处理
如果在多个地方使用errorMsg,那么每次使用完毕要清空一下字串- sqlite3_free(errorMsg),示例代码如下所示:
NSLog(@"create ok."); }else { NSLog(@"error: %s",errorMsg); sqlite3_free(errorMsg); }if (sqlite3_exec(database, createSql, NULL, NULL, &errorMsg)==SQLITE_OK) {
范例App运行界面如下图所示。本教程的具体内容及其范例App都收录在《一步一步学习iOS 6 编程》的最新版PDF文件中。