zoukankan      html  css  js  c++  java
  • AIR数据处理的方法

    AIR连接sqllite的方法,这里主要是做了数据的插入和删除的方法

    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    preinitialize="init()"
    fontSize="12" backgroundColor="#FFFFFF" width="600" height="700">
    <mx:Script>
    <![CDATA[
    import flash.data.SQLConnection;
    import flash.events.SQLErrorEvent;
    import flash.events.SQLEvent;
    import flash.filesystem.File;

    private var conn:SQLConnection;
    private var initComplete:Boolean = false;
    private var sqlStat:SQLStatement;

    private function init():void{
    //新建sqlConnection
    conn = new SQLConnection();
    //不知道flash什么时候才能做成多线程..这样写起来真的很累
    conn.addEventListener(SQLEvent.OPEN, openHandler);
    conn.addEventListener(SQLErrorEvent.ERROR, errorHandler);
    //获取当前目录
    var dbFile:File = File.applicationResourceDirectory.resolvePath("DBSample.db");
    //打开sql连接
    conn.open(dbFile);
    }

    //连接后对数据库进行初始化,初始化脚本可以是*.sql,这里就不做这种处理了
    private function openHandler(event:SQLEvent):void
    {
    //初始化sqlStatement对象
    sqlStat = new SQLStatement();
    sqlStat.sqlConnection = conn;
    var sql:String = "CREATE TABLE IF NOT EXISTS employees (" +
    " empId INTEGER PRIMARY KEY AUTOINCREMENT, " +
    " firstName TEXT, " +
    " lastName TEXT, " +
    " salary NUMERIC CHECK (salary > 0)" +
    ")";
    sqlStat.text = sql;
    sqlStat.addEventListener(SQLEvent.RESULT, statResult);
    sqlStat.addEventListener(SQLErrorEvent.ERROR, createError);
    sqlStat.execute();
    }
    private function statResult(event:SQLEvent):void
    {
    //很无耻地强迫获取数据时更新数据
    var sqlresult:SQLResult = sqlStat.getResult();
    if(sqlresult.data == null){
    getResult();
    return;
    }
    datafiled.dataProvider = sqlresult.data;
    }
    //获取数据函数
    private function getResult():void{
    var sqlquery:String = "SELECT * FROM employees"
    excuseUpdate(sqlquery);
    }
    private function createError(event:SQLErrorEvent):void
    {
    trace("Error code:", event.error.code);
    trace("Details:", event.error.message);
    }

    private function errorHandler(event:SQLErrorEvent):void
    {
    trace("Error code:", event.error.code);
    trace("Details:", event.error.message);
    }
    //数据更新接口
    private function excuseUpdate(sql:String):void{
    sqlStat.text = sql;
    sqlStat.execute();
    }
    //插入操作
    private function insertemp():void{
    var sqlupdate:String = "Insert into employees(firstName,lastName,salary) values('" +
    firstName.text +
    "','" +
    lastName.text +
    "','" +
    salary.text +
    "')";
    debug.text+=sqlupdate+"\n"
    excuseUpdate(sqlupdate)
    }
    //删除操作
    private function deleteemp():void{
    var sqldelete:String = "delete from employees where empId='" +
    datafiled.selectedItem.empId +
    "'";
    excuseUpdate(sqldelete);
    debug.text+=sqldelete+"\n"
    }

    ]]>
    </mx:Script>
    <mx:TextArea x="21" y="10" width="402" height="179" id="debug"/>
    <mx:DataGrid x="21" y="197" id="datafiled">
    <mx:columns>
    <mx:DataGridColumn headerText="ID" dataField="empId"/>
    <mx:DataGridColumn headerText="firstName" dataField="firstName"/>
    <mx:DataGridColumn headerText="lastName" dataField="lastName"/>
    <mx:DataGridColumn headerText="salary" dataField="salary"/>
    </mx:columns>
    </mx:DataGrid>
    <mx:Form x="21" y="471">
    <mx:FormItem label="firstName">
    <mx:TextInput id="firstName"/>
    </mx:FormItem>
    <mx:FormItem label="lastName">
    <mx:TextInput id="lastName"/>
    </mx:FormItem>
    <mx:FormItem label="salary">
    <mx:TextInput id="salary"/>
    </mx:FormItem>
    </mx:Form>
    <mx:Button x="300" y="503" label="添加" click="insertemp()"/>
    <mx:Button x="300" y="533" label="删除" click="deleteemp()"/>
    </mx:WindowedApplication>
  • 相关阅读:
    2016"百度之星"
    codeforces 55 div2 C.Title 模拟
    codeforces 98 div2 C.History 水题
    codeforces 97 div2 C.Replacement 水题
    codeforces 200 div2 C. Rational Resistance 思路题
    bzoj 2226 LCMSum 欧拉函数
    hdu 1163 九余数定理
    51nod 1225 余数的和 数学
    bzoj 2818 gcd 线性欧拉函数
    Codeforces Round #332 (Div. 2)D. Spongebob and Squares 数学
  • 原文地址:https://www.cnblogs.com/AS30/p/2248103.html
Copyright © 2011-2022 走看看