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

flash SQLite包装类

 
阅读更多
[转]http://www.flepstudio.com/flash/actionscript3/documentation/html/com_flepstudio_air_sqlite_SQLite.html
package com.flepstudio.air.sqlite
{
    import flash.data.*;
    import flash.events.*;
    import flash.filesystem.File;
    import flash.display.MovieClip;
     
    [Event(name="open", type="flash.events.SQLEvent")]
    [Event(name="close", type="flash.events.SQLEvent")]
    [Event(name="error", type="flash.events.SQLErrorEvent")]
     
    /**
     * SQLite is a ValueObject for the FlepStudio API.
     * This class manages the SQLite database in Adobe Air
     *
     * @author Filippo Lughi
     * @version Actionscript 3.0
     */
    public class SQLite extends MovieClip
    {
        private var _connection:SQLConnection;
        private var _databaseFileName:String;    
        private var _databaseFile:File;
        private var _statement:SQLStatement;
         
        public function SQLite()
        {
            addEventListener(Event.ADDED_TO_STAGE,init);
        }
         
        private function init(evt:Event):void
        {
            removeEventListener(Event.ADDED_TO_STAGE,init);
            trace("I am ready to dispatch events to my parent/root");
        }
         
         
        /**
         * get the database file name
         */
        [Bindable]
        public function get file_name():String
        {
            return _databaseFileName;
        }
         
         
        /**
         * set the database file name
         */
        public function set file_name(s:String):void
        {
            _databaseFileName=s;
        }
         
         
        /**
         * get the database file
         */
        public function get file():File
        {
            return _databaseFile;
        }
         
         
        /**
         * set the database file
         */
        public function set file(f:File):void
        {
            _databaseFile=File.documentsDirectory.resolvePath(file_name);
        }
         
         
        /**
         * get the database connection
         */
        [Bindable]
        public function get connection():SQLConnection
        {
            return _connection;
        }        
         
         
        /**
         * set the database connection
         */
        public function set connection(conn:SQLConnection):void
        {
            _connection=conn;
        }
         
         
        /**
         * get the statement
         */
        [Bindable]
        public function get statement():SQLStatement
        {
            return _statement;
        }        
         
         
        /**
         * set the statement
         */
        public function set statement(s:SQLStatement):void
        {
            _statement=s;
        }
         
         
        /**
         * connect to database
         */
        public function connect():void
        {
            _connection=new SQLConnection();
            _connection.addEventListener(SQLEvent.OPEN,onDatabaseOpen);
            _connection.addEventListener(SQLEvent.CLOSE,onDatabaseClose);
            _connection.addEventListener(SQLErrorEvent.ERROR,onDatabaseError);
            _connection.openAsync(_databaseFile,SQLMode.READ);
        }
         
         
        /**
         * create the database
         */
        public function create():void
        {
            _connection=new SQLConnection();
            _connection.addEventListener(SQLEvent.OPEN,onDatabaseCreated);
            _connection.addEventListener(SQLEvent.CLOSE,onDatabaseClose);
            _connection.addEventListener(SQLErrorEvent.ERROR,onDatabaseError);
            _connection.openAsync(_databaseFile,SQLMode.CREATE);
        }
         
         
        /**
         * populate the database
         */
        public function execute(query:String=null):void
        {
            _statement=new SQLStatement();
            _statement.sqlConnection=_connection;
            _statement.text=query;
            _statement.addEventListener(SQLEvent.RESULT,onQueryResult);
            _statement.addEventListener(SQLErrorEvent.ERROR,onQueryError);
            _statement.execute();
        }
         
         
        /**
         * disconnect to database
         */
        public function close():void
        {
            _connection.close();
        }
         
         
        /**
         * dispatch when query has been done
         */
        private function onQueryResult(evt:SQLEvent):void
        {
            trace(_statement.getResult().data);
            dispatchEvent(evt);
        }
         
         
        /**
         * dispatch if a query error occurs
         */
        private function onQueryError(evt:SQLErrorEvent):void
        {
            dispatchEvent(evt);
        }
         
         
        /**
         * dispatch when database is open
         */
        private function onDatabaseOpen(evt:SQLEvent):void
        {
            _connection.removeEventListener(SQLEvent.OPEN,onDatabaseOpen);
            dispatchEvent(evt);
        }
         
         
        /**
         * dispatch when database is created
         */
        private function onDatabaseCreated(evt:SQLEvent):void
        {
            _connection.removeEventListener(SQLEvent.OPEN,onDatabaseCreated);
            dispatchEvent(new SQLEvent("created"));
        }
         
         
        /**
         * dispatch when database is close
         */
        private function onDatabaseClose(evt:SQLEvent):void
        {
            _connection.removeEventListener(SQLEvent.CLOSE,onDatabaseClose);
            dispatchEvent(evt);
        }
         
         
        /**
         * dispatch a database error
         */
        private function onDatabaseError(evt:SQLErrorEvent):void
        {
            _connection.removeEventListener(SQLErrorEvent.ERROR,onDatabaseError);
            dispatchEvent(evt);
        }
    }
}
分享到:
评论

相关推荐

    SQLite_Wrapper_SQLite_C++包装类

    本教程将详细讲解如何使用C++创建一个SQLite数据库的包装类,以便更方便地进行数据库操作。 首先,`SQLite.cpp`和`SQLite.h`是两个关键文件,它们分别包含了SQLite数据库操作的实现和接口定义。`SQLite.h`文件通常...

    SQLite帮助类SQLiteHelper

    一些小型的应用程序需要使用到数据库,sqlite可以说是最好的选择。这里个人整理了一般简单通用的操作类SQLiteHelper

    Sqlite的C#通用类和Sqlite工具

    这个压缩包包含两个关键文件,一个是`SqliteHelper.cs`,它很可能是一个C#类,提供了与Sqlite数据库进行交互的通用方法。这个类可能包含了连接数据库、执行SQL语句、插入、更新、删除和查询数据等基本操作的封装。...

    sqlite帮助类 SqliteHelper.cs

    是使用sqlite封装好的帮助类 ,有执行sql语句和执行带参数的sql语句及一次执行多条(事务)及执行带存储过程参数的的SQL语句等基础操作。

    android数据库SQLite通用类

    通用的SQLite数据库操作类,将增删改查集成,其他继承该类即可

    C#操作SQLITE代码类

    C#操作SQLite代码类 一个朋友写的,拿来分享给大家,希望有用

    SQLiteHelper辅助类

    SQLiteHelper是Android开发中常用的工具类,用于操作SQLite数据库。SQLite是一种轻量级的、嵌入式的、关系型数据库,广泛应用于移动应用中,因为它的体积小、速度快、支持事务等特性。SQLiteHelper辅助类主要负责...

    Sqlite 操作类 C# .net

    Sqlite 操作类 C# .net,嵌入式SQL //创建一个数据库文件 string datasource = @"d:/ChinaPower.s3db"; // System.Data.SQLite.SQLiteConnection.CreateFile(datasource); //连接数据库 System.Data....

    delphi封装的sqlite3类

    这个单元通常包含类如TSQLiteTable3,它代表了一个数据库表,可以进行增删改查等操作。例如,你可以通过TSQLiteTable3的Open方法打开一个数据库表,使用Fields属性访问字段,使用Insert、Edit、Delete方法修改记录,...

    Sqlite使用工具类

    SQLite是一款轻量级的数据库,它无需单独的服务器进程,而是作为应用程序的一部分在客户端运行。在Android系统中,SQLite被广泛用于数据存储,因为它高效、可靠且易于使用。本篇文章将详细讲解如何使用SQLite数据库...

    sqlite数据库工具类

    在这个"sqlite数据库工具类"中,开发者已经基于Room技术封装了数据库操作,主要包括`DbManager`类和`DbHelper`类,这两个类是进行数据库管理和帮助操作的核心组件。 首先,我们来看`DbManager`类。这个类通常作为...

    Android Sqlite操作类(原创)

    现用项目中Sqlite操作类, 1.数据库初始化 2.数据库版本升级 3.从表中查询数据,并返回ArrayList,简单操作不需要建类 4.单一行查询返回、int 返回、string查询返回

    Android开发中的SQLite数据库的增删改查工具类

    1. **SQLiteManager**: 这个类通常是对SQLite数据库操作的封装,提供一套简洁易用的API,用于简化数据库的交互。例如,它可能包含以下方法: - `insert`: 新增数据,利用`ContentValues`对象存储待插入的数据,通过...

    操作sqlite的封装类

    本文将详细介绍一个基于SQLite3 API的封装类,以及如何利用这些封装类进行数据库操作。 标题中的"操作sqlite的封装类"指的是对SQLite3原生API进行的高级抽象,目的是简化数据库操作,提高代码可读性和可维护性。...

    sqlite3封装类

    在这个“sqlite3封装类”中,我们可以期待看到一些方便的函数或方法,将常见的数据库操作(如创建表、插入数据、查询数据、更新和删除记录)进行了抽象和封装,以简化代码并提高可读性。 封装的主要好处是提高了...

    SQLite数据库使用工具类

    下面,我们将深入探讨如何利用SQLite数据库以及一个实用的工具类来简化数据库操作。 一、SQLite基本概念 1. 数据库:SQLite数据库是一个文件,存储着数据表、索引和其他数据库对象。 2. 表:数据的集合,由行和列...

    c++ sqlite帮助类

    自己编写的一个c++ 版sqlite数据库访问帮助类,主要对sqlite的常用的几个接口函数进行封装成一个类,实现查询、事务处理等基本数据库访问应用,简单,好用,希望对大家有用,注意传人的参数是stl 的string 类型,...

    SQLite数据库访问类

    数据库SQLite访问类,自己测试过,没问题,包含事物处理,操作方便。

    SqliteHelper sqlite数据库 公共帮助类

    SqliteHelper sqlite数据库 公共帮助类,提供各种操作数据库方法,从而简单的对数据库数据进行操作

    易语言Sqlite数据库类模块

    易语言Sqlite数据库类模块源码,Sqlite数据库类模块,初始化_SQLITE,销毁_SQLITE,添加纪录_批量,添加纪录,读取记录_单个字段_文本值,读取记录_多个字段,修改记录,删除记录,取记录集,填充记录们to超级列表框,分页_初始...

Global site tag (gtag.js) - Google Analytics