iphone-common-codes-ccteam源代码 CCSqlite3.m

本文介绍了一个名为CCSqlite3的Objective-C类,该类用于简化SQLite数据库操作。通过这个类,开发者可以轻松地执行SQL语句、准备查询、获取数据及管理资源等任务。此外还提供了一些实用的方法来设置随机返回结果或限制返回的数据行数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//
//  CCSqlite3.m
//  CCFC
//
//  Created by xichen on 11-12-18.
//  Copyright 2011 ccteam. All rights reserved.
//


#import "CCSqlite3.h"




@implementation CCSqlite3


@synthesize delegate = _delegate;
@synthesize statement = _statement;


- (id)initWithSqliteDBFullPath:(NSString *)dbFullPath
{
        self = [super init];
        int ret;
        if(self)
        {
                ret = sqlite3_open([dbFullPath UTF8String], &_db);
                if(ret != SQLITE_OK)
                        return nil;
        }
        return self;
}


- (void)dealloc
{
        [_sql release];
        sqlite3_close(_db);
        [super dealloc];
}


- (void)setSql:(NSString *)sql
{
        if(_sql != sql)
        {
                [_sql release];
                _sql = [sql copy];
        }
}


- (BOOL)prepare
{
        return (sqlite3_prepare_v2(_db, [_sql UTF8String], -1, &_statement, NULL) == SQLITE_OK);
}


- (void)getData
{
        while (sqlite3_step(_statement) == SQLITE_ROW)
        {
                ++_row;
                [_delegate onCCSqlite3AnotherRowOK:self withRow:_row];
        }
}


- (void)end
{
        sqlite3_finalize(_statement);
}


// set so, we can get the random results
- (void)setRandomReturns:(int)n
{
        NSString *temp = [NSString stringWithFormat:@" order by random() limit %d", n];
        NSString *final = [_sql stringByAppendingString:temp];
        [self setSql:final];
}


// if set so, the sqlite will returns the rowCount row data, which starts from argument start.
- (void)setNRowsFrom:(int)start withRowCount:(int)rowCount
{
        NSString *temp = [NSString stringWithFormat:@" limit %d,%d", start, rowCount];
        NSString *final = [_sql stringByAppendingString:temp];
        [self setSql:final];
}


@end
可能有更新:

googlecode链接地址: http://code.google.com/p/iphone-common-codes-ccteam/source/browse/trunk/CCFC/files/CCSqlite3.m

github地址: https://github.com/cxsjabc/iphone-common-codes-ccteam/tree/master/CCFC/files/CCSqlite3.m


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值