守望者--AIR技术交流

标题: Adobe AIR中使用Flex连接Sqlite数据库(4)(事务) [打印本页]

作者: 破晓    时间: 2015-6-12 16:54
标题: Adobe AIR中使用Flex连接Sqlite数据库(4)(事务)
Adobe AIR中使用Flex连接Sqlite数据库(4)(事务)

本章主要总结数据操作中的事务控制
由于SQLite中SQL语句不支持事务,我们可以通过SQLConnection类的与事务相关的方法可使用此功能:SQLConnection.begin()、SQLConnection.commit() 和 SQLConnection.rollback()来实现事务功能。

关于air本地数据库中的SQL支持可以参考
http://help.adobe.com/zh_CN/AIR/1.5/jslr/index.html?localDatabaseSQLSupport.html

事务实例代码:

  1. import mx.controls.Alert;
  2. private var con:SQLConnection;

  3. private function initApp():void
  4. {
  5. var file:File = File.applicationStorageDirectory.resolvePath("myTestdb.db")
  6. con = new SQLConnection();
  7. var stmt:SQLStatement = new SQLStatement();

  8.    try
  9.    {
  10.     con.open(file);
  11.    
  12.     con.begin();
  13.     stmt.sqlConnection=con;
  14.     stmt.text="INSERT INTO emp (firstName, lastName, salary) VALUES ('f', 'l', 1110)";
  15.   stmt.execute();
  16.     con.commit();  
  17.    }
  18.    catch(err:SQLError)
  19.    {
  20.     con.rollback();
  21.     Alert.show(err.message);
  22.    }
  23. }
复制代码

代码说明:
事务由begin方法开始,其间运行的n个sql语句要是成功,就由commit方法提交,其间要是有任何一个sql语句发生错误,就由rollback方法全部回滚.代码比较简单,有其他语言开发建议的人一眼就可以看明白。


代码下载:
http://files.cnblogs.com/aierong/Air_Test_SQLite4.rar



[attach]1204[/attach]


本文来自:http://www.cnblogs.com/aierong/archive/2009/01/23/flex_sqlite_commit_rollback.html




作者: 破晓    时间: 2015-6-12 17:00
Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表,以及同步和异步执行模式)


Adobe AIR中使用Flex连接Sqlite数据库(2)(添加,删除,修改以及语句参数)


Adobe AIR中使用Flex连接Sqlite数据库(3)(查询)




Adobe AIR中使用Flex连接Sqlite数据库(4)(事务)






欢迎光临 守望者--AIR技术交流 (http://www.airmyth.com/)