zoukankan      html  css  js  c++  java
  • 使用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文件中。

  • 相关阅读:
    2008年秋季毕业设计总体安排
    2008秋季计算机软件基础0903课堂用例(1)
    收藏:微软新技术不断,开发者如何面对?
    2008秋季计算机软件基础0901课堂用例
    2008秋季计算机软件基础0908课堂用例(1)
    WebBrows仿造Cookie
    ScriptCase价格调整通知
    JavaMail API简介
    Spring攻略学习笔记(3.05)重用切入点定义
    verletjs:超酷的开源JavaScript物理引擎
  • 原文地址:https://www.cnblogs.com/tuncaysanli/p/2727951.html
Copyright © 2011-2022 走看看