Xcode5 开发入门 -数据应用操作


       IOS 自带的数据 SQLITE3 的启用的 添加操作, Xcode5 与以前版本有些不同 ,需要将光标定位在项目的根目录,即要显示下面界面:


移动界面上的垂直向(上下)滚动条,并移动到最下面,看到Linked Frameworks and Librarles分类:


见上图的底部,这时点击 + 号,进行库文件的添加选择 ,在屏幕出现库文件列表对话框后,在搜索框输入 SQL,可快速过滤出SQLITE3.0的库文件,即得到下图内容:

 

点选libsqlite3.0.dylib库文件,如何再按 Add按钮完成SQLite3.0库的添加启用。



下面给出简单的数据库操作的相关代码供参考。

// 下面代码通过View中的一个按钮来启动执行。




//

//  ViewController.m

//  Database

//

//  Created by KQT on 14-1-25.

//  Copyright (c) 2014 KQT. All rights reserved.

//


#import "ViewController.h"

#import <Foundation/Foundation.h>

#import "sqlite3.h"


@interface ViewController ()


@end


char *errorMsg;

sqlite3 *database;


@implementation ViewController


- (void)viewDidLoad

{

    [super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}


- (void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


//按钮按下启动相应的数据库操作处理

- (IBAction)Clickdatacreate:(id)sender {


     [self openDB];   //调用打开库


     NSString *createtable1 = @"create table if not exists Emplovee (id integer primary key autoincrement,code text,name text,password text,phone text,email text)";

     [self create: createtable1];   //调用创建表

   

      [self Insert];      //增加记录1

      [self Insert];      //增加记录2

      [self Insert];      //增加记录3



     [self deleteaNote: 2];    //删除一条记录 序号为2的



      NSString *name=@"YouName";

      NSString *pws=@"Password";

      [self update:name  toPWS: pws];               //更新第三条记录的两个字段内容


      [self selectea];           //查询所有记录


}


//打开数据库

-(BOOL)openDB{

    NSArray  *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSString *path  = [documentsDirectory stringByAppendingPathComponent:@"noteList.db"];

   

    NSFileManager *fileManager = [NSFileManager defaultManager];

   

    BOOL find = [fileManager fileExistsAtPath:path];

    //判断文件是否存在

    if (find) {

        NSLog(@"数据库文件已经存在");

        //打开数据库、返回操作是否正确

        if(sqlite3_open([path UTF8String], &database) == SQLITE_OK) {

            NSLog(@"打开成功数据库");

        }

        return YES;

    }else{

        if(sqlite3_open([path UTF8String], &database) == SQLITE_OK) {

            //调用createMusicList创建数据库和表

            return YES;

        } else {

            sqlite3_close(database);

            NSLog(@"Error: open database file.");

            return NO;

        }

        return NO;

    }

}



//创建表

-(BOOL)create: (NSString*) tableSql {

    //创建表语句

    const char *createSql = [tableSql UTF8String];

    //创建表是否成功

    if (sqlite3_exec(database, createSql, NULL, NULL,&errorMsg)==SQLITE_OK) {

//         NSLog(@"CreateSQL: %s ",createSql);

         NSLog(@"create ok.");

        return YES;

    }else{

        //打印出错信息

        NSLog(@"error: %s",errorMsg);

        sqlite3_free(errorMsg);

    }

    return NO;

}


//添加一条记录

-(BOOL)Insert{

    NSString *sql = [NSString stringWithFormat:

                     @ "insert into Emplovee (name, password,phone,email) values ('user','pass','13503049821','ggmmuu@gmail.com')"];    

    //将定义的NSStringsql语句,转换成UTF8c风格的字符串

    const char *insertSql = [sql UTF8String];

//    NSLog(@"SQL: %s ",insertSql);

    // 执行插入语句

   if (sqlite3_exec(database, insertSql, NULL, NULL, &errorMsg)==SQLITE_OK) {

        NSLog(@"insert ok.");

        return YES;

    }else{

        NSLog(@"error: %s",errorMsg);

        sqlite3_free(errorMsg);

    }

    return NO;

}


//查询全部记录

-(BOOL)selectea {

    NSLog(@"查询所有记录语句");

    sqlite3_stmt *statement;

    NSString *sql = @"SELECT * FROM Emplovee";

    const char *querySql = [sql UTF8String];

    

    NSLog(@"error: %s",querySql);

    if (sqlite3_prepare_v2(database, querySql, -1, &statement, nil)==SQLITE_OK) {

        NSLog(@"select ok.");

       //循环读出每条记录

        while (sqlite3_step(statement) == SQLITE_ROW) {

                     //读出字段内容

                       int rowNum    = sqlite3_column_int(statement, 0);

                       char *rowData1 = (char *)sqlite3_column_text(statement, 1);

                       char *rowData2 = (char *)sqlite3_column_text(statement, 2);

                       char *rowData3 = (char *)sqlite3_column_text(statement, 3);

                       char *rowData4 = (char *)sqlite3_column_text(statement, 4);

//显示记录内容

                       NSLog(@"data: %d,%s,%s,%s,%s",rowNum,rowData1,rowData2,rowData3,rowData4);

            }

    }

    return NO;

}


//删除指定序号的记录

-(BOOL)deleteaNote:(int *) Emp_id {

    //删除某条数据

    NSString *deleteString=[NSString stringWithFormat:@"delete from Emplovee where id=%d",Emp_id];

    //转成utf-8c的风格

    const char *deleteSql=[deleteString UTF8String];

    //执行删除语句

    if(sqlite3_exec(database, deleteSql, NULL, NULL, &errorMsg)==SQLITE_OK){

        NSLog(@"删除成功");

    }

    return YES;

}


//修改更新记录内容(姓名和密码)

-(BOOL)update:(NSString*)Name  toPWS:(NSString*)Password {

    //更新语句

    NSString *updateString=[NSString stringWithFormat:@"update Emplovee set name='%@', password='%@'  where id = 3", Name, Password];

    const char *updateSql=[updateString UTF8String];

    //执行更新语句

    if(sqlite3_exec(database, updateSql, NULL, NULL, &errorMsg)==SQLITE_OK){

        NSLog(@"更新成功");

    }

    return YES;

}


@end


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值