package com.adobe.arise.database { import flash.data.SQLStatement; import flash.data.SQLConnection; import flash.events.EventDispatcher; import flash.events.SQLErrorEvent; import flash.events.SQLEvent; public class DBOperation { protected var sql:XML; protected var connection:SQLConnection; protected var responder:DatabaseResponder; public function DBOperation(responder:DatabaseResponder, sql:XML, connection:SQLConnection) { this.responder = responder; this.sql = sql; this.connection = connection; } protected function getSQLStatement():SQLStatement { var stmt:SQLStatement = new SQLStatement(); stmt.sqlConnection = this.connection; stmt.addEventListener(SQLErrorEvent.ERROR, function(e:SQLErrorEvent):void { var dbe:DatabaseEvent = new DatabaseEvent(DatabaseEvent.ERROR_EVENT); dbe.data = e.error; responder.dispatchEvent(dbe); }); return stmt; } protected function dispatchEmptyResultEvent(e:SQLEvent):void { var dbe:DatabaseEvent = new DatabaseEvent(DatabaseEvent.RESULT_EVENT); responder.dispatchEvent(dbe) } } }