首页 > 代码库 > FMDatabase

FMDatabase

//

//  ZBMainViewController.m

//  FMDBDemo

//

//  Created by 张先森 on 14/11/27.

//  Copyright (c) 2014年 zhibin. All rights reserved.

//

 

#import "ZBMainViewController.h"

#import "FMDatabase.h"

@interface ZBMainViewController ()

- (IBAction)Create:(id)sender;

- (IBAction)Insert:(id)sender;

- (IBAction)Edit:(id)sender;

- (IBAction)Del:(id)sender;

- (IBAction)Select:(id)sender;

 

 

@end

   FMDatabase *db;

 

    NSString *TABLENAME=@"zbtest";

@implementation ZBMainViewController

 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{

    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    if (self) {

        // Custom initialization

    }

    return self;

}

 

- (void)viewDidLoad

{

    [super viewDidLoad];

    [self InitDataBase];

 

    

}

 

 

-(void)InitDataBase{

    

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

    

    NSString *documentDirectory = [paths objectAtIndex:0];

 

    NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"MyProject.db"];

    

    db = [FMDatabase databaseWithPath:dbPath];

 

}

 

 

- (IBAction)Create:(id)sender {

    

    if ([db open]) {

   

 

        NSString *createtable= [NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS ‘%@‘ (‘%@‘ INTEGER PRIMARY KEY AUTOINCREMENT, ‘%@‘ TEXT, ‘%@‘ INTEGER, ‘%@‘ TEXT)",TABLENAME,@"ID",@"NAME",@"AGE",@"ADDRESS"];

        BOOL result=[db executeUpdate:createtable];

        

        if (!result) {

            NSLog(@"error when creating db table");

        } else {

            NSLog(@"success to creating db table");

        }

        [db close];

        

    }

    

    

    

    

}

 

 

 

 

- (IBAction)Insert:(id)sender {

    

    if ([db open]) {

 

        

        NSString *insertdata=http://www.mamicode.com/[NSString stringWithFormat:

                              @"INSERT INTO ‘%@‘ (‘%@‘, ‘%@‘, ‘%@‘) VALUES (‘%@‘, ‘%@‘, ‘%@‘)",

                              TABLENAME, @"NAME", @"AGE", @"ADDRESS", @"张三", @"13", @"济南"];

        

        

        BOOL result=[db executeUpdate:insertdata];

        if (!result) {

            NSLog(@"error when insert db table");

        } else {

            NSLog(@"success to insert db table");

        }

        [db close];

        

        

    }

    

}

 

- (IBAction)Edit:(id)sender {

    

    if ([db open]) {

    

        BOOL res = [db executeUpdate:@"UPDATE zbtest SET AGE=? WHERE AGE=?",@"15",@"13"];

        

        if (!res) {

            NSLog(@"error when update db table");

        } else {

            NSLog(@"success to update db table");

        }

        [db close];

        

    }

    

    

    

    

}

 

- (IBAction)Del:(id)sender {

    

    

    if ([db open]) {

        

        NSString *deleteSql = [NSString stringWithFormat:

                               @"delete from %@ where %@ = ‘%@‘",

                               TABLENAME, @"NAME", @"张三"];

        BOOL res = [db executeUpdate:deleteSql];

        

        if (!res) {

            NSLog(@"error when delete db table");

        } else {

            NSLog(@"success to delete db table");

        }

        [db close];

        

    }

}

 

- (IBAction)Select:(id)sender {

    

    if ([db open]) {

        NSString * sql = [NSString stringWithFormat:

                          @"SELECT * FROM %@",TABLENAME];

        FMResultSet * rs = [db executeQuery:sql];

        while ([rs next]) {

            int Id = [rs intForColumn:@"ID"];

            NSString * name = [rs stringForColumn:@"NAME"];

            NSString * age = [rs stringForColumn:@"AGE"];

            NSString * address = [rs stringForColumn:@"ADDRESS"];

            NSLog(@"id = %d, name = %@, age = %@  address = %@", Id, name, age, address);

        }

        [db close];

    }

    

}

@end

 

FMDatabase