使用SQLite数据库存储数据(2)-向表中插入记录

向表中插入记录

向数据表Notebook中添加一条新的记事日志,成功插入记录后,会显示一个提醒视图。
- (IBAction)addNote:(id)sender {
char *errMsg;

const char *dbpath = [databasePath UTF8String];

if(sqlite3_open(dbpath, &noteDB) == SQLITE_OK){
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_exec(noteDB, insert_stmt, NULL, NULL, &errMsg) == 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);
}

sqlite3_close(noteDB);
}
}
显示提醒视图的代码:
- (void)doAlert:(NSString *)inMessage{
UIAlertView *alertDialog;
alertDialog = [[UIAlertView alloc]
initWithTitle:@"提示消息" message:inMessage  delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertDialog show];
}

错误信息的处理

如果在多个地方使用errorMsg,那么每次使用完毕要清空一下字串- sqlite3_free(errorMsg),示例代码如下所示:
if (sqlite3_exec(database, createSql, NULL, NULL, &errorMsg)==SQLITE_OK) {
NSLog(@"create ok.");
}else {
NSLog(@"error: %s",errorMsg);
sqlite3_free(errorMsg);
}

范例App运行界面如下图所示。本教程的具体内容及其范例App都收录在《一步一步学习iOS 6 编程》的最新版PDF文件中。

转载于:https://www.cnblogs.com/tuncaysanli/archive/2012/10/17/2727951.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值