package com.view.dataoption { import com.vo.FlowModel; import com.vo.FmNodes; import com.vo.FmXian; import flash.data.SQLConnection; import flash.data.SQLResult; import flash.data.SQLStatement; import flash.errors.SQLError; import flash.filesystem.File; import flash.net.FileReference; import mx.collections.ArrayCollection; import mx.controls.Alert; public class Conn { private var conn:SQLConnection; public function Conn() { } public function openConn():void{ var filee : FileReference = new FileReference(); conn = new SQLConnection(); var file : File = File.applicationStorageDirectory.resolvePath("flowmodel.db"); try{ conn.open(file); }catch(error:SQLError){ Alert.show(error.message); Alert.show(error.details); } } public function excuteSql(sqlstr:String):void{ openConn(); var stmt:SQLStatement = new SQLStatement(); try{ stmt.sqlConnection = conn; stmt.text = sqlstr; stmt.execute(); }catch(error:SQLError){ Alert.show(error.message); Alert.show(error.details); } } public function findFlowModel(fmId : Number) : FlowModel{ openConn(); var stmt:SQLStatement = new SQLStatement(); var sqlstr : String ="select * from flowmodel where fm_id = "+fmId; var flowModel : FlowModel = null; try{ stmt.sqlConnection = conn; stmt.text = sqlstr; stmt.execute(); var result:SQLResult = stmt.getResult(); if(result.data !=null){ flowModel = new FlowModel(result.data[0]); Alert.show(flowModel.fmName); } }catch(error:SQLError){ Alert.show(error.message); Alert.show(error.details); } return flowModel; } public function findFlowXian(fmId : Number) : ArrayCollection{ openConn(); var stmt:SQLStatement = new SQLStatement(); var sqlstr : String ="select * from fmxian where fm_id = "+fmId; var arrXian : ArrayCollection; try{ stmt.sqlConnection = conn; stmt.text = sqlstr; stmt.execute(); var result:SQLResult = stmt.getResult(); if(result.data!=null){ arrXian = new ArrayCollection(); var numResults:int = result.data.length; for(var i:int = 0;i<numResults; i++){ var obj:Object = result.data[i]; var xian : FmXian = new FmXian(obj); arrXian.addItem(xian); } } }catch(error:SQLError){ Alert.show(error.message); Alert.show(error.details); } return arrXian; } public function findFlowNode(fmId : Number) : ArrayCollection{ openConn(); var stmt:SQLStatement = new SQLStatement(); var sqlstr : String ="select * from fmnodes where fm_id = "+fmId; var arrNode : ArrayCollection ; try{ stmt.sqlConnection = conn; stmt.text = sqlstr; stmt.execute(); var result:SQLResult = stmt.getResult(); if(result.data !=null){ arrNode = new ArrayCollection(); var numResults:int = result.data.length; for(var i:int = 0;i<numResults; i++){ var obj:Object = result.data[i]; var node : FmNodes = new FmNodes(obj); arrNode.addItem(node); } } }catch(error:SQLError){ Alert.show(error.message); Alert.show(error.details); } return arrNode; } public function insertSql(sqlstr:String) : Number{ openConn(); var stmt:SQLStatement = new SQLStatement(); try{ stmt.sqlConnection = conn; stmt.text = sqlstr; stmt.execute(); var result : SQLResult = stmt.getResult(); var primaryKey:Number = result.lastInsertRowID; closeConn(); return primaryKey; }catch(error:SQLError){ Alert.show(error.message); Alert.show(error.details); } return 0 ; } public function closeConn():void{ conn.close(); } } }