iOS中sqlite版本号

https://github.com/yapstudios/YapDatabase/wiki/SQLite-version-(bundled-with-OS)
https://github.com/yapstudios/YapDatabase/blob/master/YapDatabase/YapDatabase.m
?
?

+ (NSString *)sqliteVersionUsing:(sqlite3 *)aDb
{
    sqlite3_stmt *statement;

    int status = sqlite3_prepare_v2(aDb, "SELECT sqlite_version();", -1, &statement, NULL);
    if (status != SQLITE_OK)
    {
        YDBLogError(@"%@: Error creating statement! %d %s", THIS_METHOD, status, sqlite3_errmsg(aDb));
        return nil;
    }

    NSString *version = nil;

    status = sqlite3_step(statement);
    if (status == SQLITE_ROW)
    {
        const unsigned char *text = sqlite3_column_text(statement, SQLITE_COLUMN_START);
        int textSize = sqlite3_column_bytes(statement, SQLITE_COLUMN_START);

        version = [[NSString alloc] initWithBytes:text length:textSize encoding:NSUTF8StringEncoding];
    }
    else
    {
        YDBLogError(@"%@: Error executing statement! %d %s", THIS_METHOD, status, sqlite3_errmsg(aDb));
    }

    sqlite3_finalize(statement);
    statement = NULL;

    return version;
}
时间: 2024-10-26 18:36:47

iOS中sqlite版本号的相关文章

iOS 中SQLite数据库操作

在iOS中实现SQLite数据库的操作:1.导入框架(libsqlite3.0.tbd) 2.导入头文件<sqlite3.h> 3.实现数据的增删改查 实现简单 SQLite数据库操作 的 demo 具体过程: 1.创建名为 SQLite_Manage 的.h .m 文件,导入头文件 <sqlite3.h> 2.数据库在一个app中只有一个,使用单例模式:(代码如下) 1 + (SQLite_Manager *)sharedManager{ 2 static SQLite_Mana

iOS中SQLite的使用

今天终于花了点时间把之前项目中使用到的对SQLite操作的方法整理一下并上传到github上,下载地址:(https://github.com/peanutNote/QYSQLiteManagerDemo.git). 与其他第三方目的一样,主要是为了使代码中有关对SQLite操作简单化,具体用法: 将QYSQLiteManager文件add到项目中,并在需要对SQLite进行操作的类中添加#import "QYSQLiteManager" . // 插入语句 - (void)inser

iOS中sqlite和coreData的区别

sqlite和coreData的区别: 1.sqlite数据库的操作流程: 创建数据库,再通过定义一些字段来定义表格结构,可以利用sql语句向表格中插入记录,删除记录,修改记录,表格之间也可以建联系. sqlite和coreData的类做个对应: 表结构--------NSEntityDescription(菜单详情) 数据库中所有的表格和他们的联系--------NSmanagedObjectModel(菜谱) 数据库存放方式---------NSPersistentStoreCoordina

关于iOS中SQLITE句柄的使用的细节

1.设计思想:给SQLITE进行封装,利用定义的类别实现方法的简洁,以便达到低耦合效果 1 控制器代码: 2 #import "ViewController.h" 3 #import "DatabaseHelper.h" 4 5 @interface ViewController () 6 { 7 sqlite3 *db; 8 } 9 @end 10 11 @implementation ViewController 12 13 -(void)loadView {

IOS中sqlite数据库利用bold类型存储与读取字典

我在做app收藏时, 发现我的数据有的是字典, 字典怎么向数据库中保存呢? 就看了好多博客, 字典应该利用数据库中的bold类型来保存,可是添加到数据库之后,读取不出来, 为此伤透了脑筋,为了解决这个问题, 花费了好时间. 以前认为bold类型就是用来存放二进制的,可以存放图片等, 而我的数据存到数据库中的确是二进制,所以读的时候全是二进制, 以致不能转换成字典.后来发现我保存数据的方法就是错的, bold类型不仅可以放二进制也可以放数据,简直颠覆了我对bold类型的看法,BLOB,只是一个数据

IOS学习:ios中的数据持久化初级(文件、xml、json、sqlite、CoreData)

IOS学习:ios中的数据持久化初级(文件.xml.json.sqlite.CoreData) 分类: ios开发学习2013-05-30 10:03 2316人阅读 评论(2) 收藏 举报 iOSXMLJSONSQLiteCoreData 一.文件操作 1.因为应用是在沙盒(Sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件: * Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录 * tmp:存放临时文件,iTunes不会备份和恢复

iOS之sqlite和FMDB

数据库sqlite在iOS中起着举足轻重的作用,本文主要讲述一下sqlite的并发,事务和常见的损坏问题,后面会简述一下对sqlite进一步封装的第三方库FMDB. sqlite的并发和事务 在了解sqlite的事务和并发之前,我们要先了解sqlite提供的几种锁的类型及区别.sqlite提供了五种级别的锁: UNLOCKED(未锁定):当前数据库不存在读写操作.为默认状态. SHARED(共享锁):当前数据库可以被读取,但是不能执行写操作.同一时刻,可以有任意的进程持有该数据库的共享锁,所以s

iOS中几种数据持久化方案

概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData 沙盒 在介绍各种存储方法之前,有必要说明以下沙盒机制.iOS程序默认情况下只能访问程序自己的目录,这个目录被称为"沙盒". 1.结构 既然沙盒就是一个文件夹,那就看看里面有什么吧

Android中SQLite事务的操作

1.创建一个数据库帮助类. package com.wzw.sqllitedemo.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; import android.