`
zhengjj_2009
  • 浏览: 154741 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iOS使用事务插入数据

 
阅读更多

-(void)execInsertTransactionSql:(NSMutableArray *)transactionSql sqliteDB:(sqlite3 *)sqliteDB statement:(sqlite3_stmt *) statement{

    //使用事务,提交插入sql语句

    @try{

        char *errorMsg;

        if (sqlite3_exec(sqliteDB, "BEGIN", NULL, NULL, &errorMsg)==SQLITE_OK) {

            NSLog(@"启动事务成功");

            sqlite3_free(errorMsg);

            for (int i = 0; i< transactionSql.count; i++) {

                NSString *sqlText = [transactionSql objectAtIndex:i];

                if (sqlite3_prepare_v2(sqliteDB,[sqlText UTF8String], -1, &statement,NULL)==SQLITE_OK) {

                    if (sqlite3_step(statement)!=SQLITE_DONE) sqlite3_finalize(statement);

                }

            }

            if (sqlite3_exec(sqliteDB, "COMMIT", NULL, NULL, &errorMsg)==SQLITE_OK)

                NSLog(@"提交事务成功");

            

            sqlite3_free(errorMsg);

        }

        else sqlite3_free(errorMsg);

    } @catch(NSException *e)  {

        char *errorMsg;

        if (sqlite3_exec(sqliteDB, "ROLLBACK", NULL, NULL, &errorMsg)==SQLITE_OKNSLog(@"回滚事务成功");

        sqlite3_free(errorMsg);

    } @finally{}

 

}

分享到:
评论

相关推荐

    ios 自定义数据缓存

    5. **事务处理**:为了保证数据一致性,可以使用SQLite的事务功能。在多条操作(如批量插入或更新)之间开启和提交事务,如果中间有任何错误,可以回滚整个事务。 6. **优化查询**:为了提高查询效率,可以考虑创建...

    iOS中sqlite的使用

    插入数据同样通过执行SQL的`INSERT INTO`语句完成。例如: ```sql INSERT INTO Student (ID, Name, Age) VALUES (1, '张三', 20); ``` Objective-C中,可以使用`sqlite3_prepare_v2()`预编译SQL语句,然后使用`...

    IOS数据持久化的几种方式

    - **插入数据**:使用`-executeUpdate:withArgumentsInArray:]`执行INSERT语句。 - **查询数据**:调用`-executeQuery:]`执行SELECT语句,通过`-[FMResultSet next]`遍历结果集。 - **更新和删除**:使用`-...

    ios-Data.zip

    通过使用FMDB这样的Objective-C库,开发者可以在iOS应用中方便地操作SQLite数据库,创建表、插入、更新和查询数据。 2. **Core Data**:Apple的Core Data框架是iOS和macOS开发中的首选数据管理工具,提供了一种模型...

    ios-SQLite数据库简易存储.zip

    "CyhDB"可能是封装SQLite3的库,它可能包含了一些便利的方法,如创建数据库、打开/关闭数据库连接、创建表、插入数据、查询数据、更新数据和删除数据等操作。这种封装减少了开发者直接与SQLite3 C API交互的复杂性...

    iOS中FMDB事务实现批量更新数据

    iOS中FMDB事务实现批量更新数据是一种高效的数据更新方式,通过使用FMDB库和SQLite数据库,开发者可以实现批量更新数据,提高数据处理的效率和性能。在本文中,我们将详细介绍iOS中FMDB事务实现批量更新数据的方法和...

    ios 数据库 (FMDB使用)

    要向数据库中插入数据,我们需要编写 SQL INSERT 语句并使用 `executeUpdate:` 方法执行。例如,创建一个名为 `users` 的表: ```objc NSString *sql = @"CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY ...

    IOS数据库SQLite入门代码及详细文章讲解

    3. **插入数据**:使用`sqlite3_exec()`函数执行`INSERT INTO`语句插入数据。 4. **查询数据**:执行`SELECT`语句获取数据,通常需要编写回调函数处理查询结果。 5. **更新和删除数据**:利用`UPDATE`和`DELETE`语句...

    IOS SQLITE数据库访问与使用demo

    - 插入数据:向表中插入多条用户数据。 - 查询数据:根据条件查询用户信息,展示在UITableView上。 - 更新数据:修改用户信息并保存到数据库。 - 删除数据:删除指定用户记录。 - 清空表:清空整个用户表。 7....

    iOS使用数据库实现增删改查

    **三、插入数据(Create)** 使用`INSERT INTO`语句向表中添加新记录。例如,向`Users`表中插入一条用户数据: ```sql INSERT INTO Users (name, email) VALUES ('John Doe', 'john.doe@example.com'); ``` **四、...

    iOS基础——数据操作之Sqlite3、FMDB

    2. **执行SQL语句**:使用`sqlite3_exec()`函数执行SQL命令,如创建表、插入数据等。 3. **预编译语句**:对于多次执行的SQL语句,可以使用`sqlite3_prepare_v2()`预编译,提高效率。 4. **绑定参数**:预编译后的...

    iOS sqlite3使用demo

    - **执行SQL语句**:通过`sqlite3_exec()`函数执行SQL命令,如创建表、插入数据、查询等。 - **关闭数据库**:完成操作后,使用`sqlite3_close()`函数关闭数据库连接。 3. **创建表**: 使用`CREATE TABLE`语句...

    iOS关于数据持久化的

    - 支持标准的SQL语法,包括创建表、插入数据、更新数据、删除数据以及查询操作。 - 在iOS中,通常通过FMDB库来简化SQLite的使用。 3. **FMDB**: - FMDB是Objective-C的一个SQLite库,提供了简单易用的API来执行...

    ios-SQLite对数据的增,删,改,查.zip

    例如,使用FMDB创建表、插入数据、查询数据等操作可以更加简洁和面向对象。 7. 数据库事务: SQLite支持事务处理,确保数据操作的原子性。在一个事务中,一系列的数据库操作要么全部成功,要么全部失败。例如,你...

    IOS_sqlite的使用Demo

    3. **添加数据**:使用`sqlite3_prepare_v2()`预编译SQL语句,然后用`sqlite3_step()`执行插入操作。例如,向`Users`表中添加一条记录: ```sql INSERT INTO Users (name) VALUES ('John Doe'); ``` 4. **查询...

    ios-数据库常用封装.zip

    数据库封装通常包括创建数据库、创建表、插入数据、查询数据、更新数据和删除数据等基本操作的接口。通过封装,开发者可以避免直接编写SQL语句,降低出错概率,同时提高代码的可读性和可维护性。 六、代码封装最佳...

    本地数据管理ios

    2. **插入数据**:当用户添加收藏项时,使用`INSERT INTO`语句将数据插入收藏表: ```objc [db executeUpdate:@"INSERT INTO Collections (title, description, created_at) VALUES (?, ?, ?)", title, ...

    ios开发care data的使用

    总之,iOS开发中利用Core Data管理Care Data涉及到模型设计、数据操作、查询、事务处理等多个方面。通过"iPhoneCoreDataRecipes"这个项目,你可以深入了解并实践这些概念,从而提升你的iOS开发能力。记得在实践中...

    使用fmdb的一个ios demo

    - **数据插入**:演示如何向表中插入数据,可能包含单条插入和批量插入。 - **数据查询**:包括简单的查询、带条件的查询以及联接查询。 - **数据更新与删除**:展示如何更新已存在的记录和删除不再需要的数据。 - *...

    ios-FMDB简单使用.zip

    查询数据使用`executeQuery:`方法,返回一个`FMResultSet`对象,可以遍历结果集。例如: ```objc NSString *querySQL = @"SELECT * FROM users"; FMResultSet *rs = [db executeQuery:querySQL]; while ([rs ...

Global site tag (gtag.js) - Google Analytics