deles 发表于 2016-11-28 11:07:53

flex sqlite

本章主要总结数据操作中的事务控制
由于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方法全部回滚.代码比较简单,有其他语言开发建议的人一眼就可以看明白。
页: [1]
查看完整版本: flex sqlite