IOS_Sqlite

来源:互联网 发布:pureftpd mac 安装 编辑:程序博客网 时间:2024/04/30 18:50
#import "sqlite3.h"@interface CSqlite  : NSObject{    sqlite3 *database;}-(void)openSqlite;-(sqlite3_stmt*)runSql:(char*)sql;-(sqlite3_stmt*)NSRunSql:(NSString*)sql;-(BOOL)NSSendSql:(NSString*)sql;@end





////  CSqlite.m//  WXS////  Created by zili zhu on 12-7-13.//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.//#import "CSqlite.h"@implementation CSqlite-(void)openSqlite{    NSString *sqlFile = @"qxd.db";    NSArray *cachePath= NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);    NSString *cacheDir = [cachePath objectAtIndex:0];    NSString *databasePath = [cacheDir stringByAppendingPathComponent:sqlFile];            NSFileManager *fileManager = [NSFileManager defaultManager];    // Copy the database sql file from the resourcepath to the documentpath    if (![fileManager fileExistsAtPath:databasePath]) {        NSString *databasePathFromApp = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:sqlFile];        NSError *error;        [fileManager copyItemAtPath:databasePathFromApp toPath:databasePath error:&error];//        if (error != nil) {//            NSLog(@"[Database:Error] %@", error);//        }    }        if(sqlite3_open([databasePath cStringUsingEncoding:NSASCIIStringEncoding], &database)==SQLITE_OK)    {         NSLog(@"open sqlite db ok.");    }    //    if (sqlite3_open([[[[NSBundle mainBundle] pathForResource:@"qxd" ofType:@"db"] retain] fileSystemRepresentation], &database)==SQLITE_OK) { //        NSLog(@"open sqlite db ok."); //    }}-(void)closeSqlite{    sqlite3_close(database);}-(sqlite3_stmt*)runSql:(char*)sql{   // char *errorMsg;    sqlite3_stmt *statement;     if (sqlite3_prepare_v2(database, sql, -1, &statement, nil)==SQLITE_OK) {         NSLog(@"select ok");     }    return statement;}-(sqlite3_stmt*)NSRunSql:(NSString*)sql{   // char *errorMsg;    sqlite3_stmt *statement;     if (sqlite3_prepare_v2(database, [sql UTF8String], -1, &statement, nil)==SQLITE_OK) {         NSLog(@"select ok 2");     }    else {        NSLog(@"select error 2");    }    return statement;}-(BOOL)NSSendSql:(NSString*)sql{    char *errorMsg;    if (sqlite3_exec(database, [sql UTF8String], 0, 0, &errorMsg)==SQLITE_OK)    {         NSLog(@"send ok");        return YES;        }    else     {        fprintf(stderr,"Error:  %s",  errorMsg);        return NO;    }    }@end


 while (sqlite3_step(stmt)==SQLITE_ROW)    {        str_MemberDetail *node = new str_MemberDetail;        node->Id = sqlite3_column_int(stmt, 0);        node->Name =[[NSString alloc] initWithCString:(char *)sqlite3_column_text(stmt, 1) encoding:NSUTF8StringEncoding];        node->Phone =[[NSString alloc] initWithCString:(char *)sqlite3_column_text(stmt, 2) encoding:NSUTF8StringEncoding];        node->Photos =[[NSString alloc] initWithCString:(char *)sqlite3_column_text(stmt, 3) encoding:NSUTF8StringEncoding];        node->EnName =[[NSString alloc] initWithCString:(char *)sqlite3_column_text(stmt, 4) encoding:NSUTF8StringEncoding];                memberList->push_back(*node);    }