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 事务实例代码:
- import mx.controls.Alert;
- private var con:SQLConnection;
- private function initApp():void
- {
- var file:File = File.applicationStorageDirectory.resolvePath("myTestdb.db")
- con = new SQLConnection();
- var stmt:SQLStatement = new SQLStatement();
-
- try
- {
- con.open(file);
-
- con.begin();
- stmt.sqlConnection=con;
- stmt.text="INSERT INTO emp (firstName, lastName, salary) VALUES ('f', 'l', 1110)";
- stmt.execute();
- con.commit();
- }
- catch(err:SQLError)
- {
- con.rollback();
- Alert.show(err.message);
- }
- }
复制代码
代码说明:
事务由begin方法开始,其间运行的n个sql语句要是成功,就由commit方法提交,其间要是有任何一个sql语句发生错误,就由rollback方法全部回滚.代码比较简单,有其他语言开发建议的人一眼就可以看明白。
代码下载:
http://files.cnblogs.com/aierong/Air_Test_SQLite4.rar
本文来自:http://www.cnblogs.com/aierong/archive/2009/01/23/flex_sqlite_commit_rollback.html
|