Flex 连数据库

连接数据库1:

import DataService.DsQiLogin;
  
 private var objDsQiLogin:DsQiLogin;

import com.iir.qi.query.*;

private function Init():void{
   
   cfg.addEventListener("ConfigResult",configResult);
   cfg.getConfig();
   objAreaFlag.flag = false;
  }
  
  private function configResult(event:Event):void{
   qiAddress=cfg.QiAddress;
   qiService=cfg.QiService;
   qiProcess=cfg.QiProcess;
   qiPort=cfg.QiPort;
   init();
   //preInit();
  }
  
  private function init():void{     
    objDsQiLogin = new DsQiLogin("msoerries", "catfish", "inFlowTestingApp",loginResult,loginException);
   }
  
  private function loginResult(event:Event):void{
   this.qiSession = objDsQiLogin.qiSession;
  }
  
  private function loginException(event:Event):void{
   Alert.show("Error About Connection~!"); 
  } 

连数据库2:

private function preInit():void{
   cfg.addEventListener("ConfigResult",configResult);
   cfg.getConfig();
  }
  
  private function configResult(event:Event):void{
   qiAddress=cfg.QiAddress;
   qiService=cfg.QiService;
   qiProcess=cfg.QiProcess;
   qiPort=cfg.QiPort;
   init();
   
  }
  
  private function init():void{
   qiLogin.setService(qiService);
   qiLogin.setProcess(qiProcess);
   qiLogin.login("msoerries", "catfish", "inFlowTestingApp");
  }

private function qiLoginResponse():void{
   qiSession = qiLogin.getResponse().toString(); 
  }
  
  private function qiLoginException():void{
   Alert.show(qiLogin.getResponse().toString());
  }

<qi:QiAgent id="qiLogin" qiAgentAddress="{qiAddress}" qiAgentPort="{qiPort}" qiResponse="qiLoginResponse()" qiException="qiLoginException()"/>

config:

package
{

 import mx.rpc.http.HTTPService;
 import mx.rpc.events.ResultEvent;
 import mx.controls.Alert;
 import mx.collections.ArrayCollection;
 import mx.rpc.events.FaultEvent;
 import flash.events.Event
 import flash.events.EventDispatcher;
 import com.iir.qi.QiAgent;
 
 [Event(name="ConfigResult", type="flash.events.Events")]
 
 [Bindable]
 public class qiConfig extends EventDispatcher
 {
  
  private static var _instance:qiConfig;
  
  private var configRequest:HTTPService = new HTTPService();
  

  private var _qiAddress:String;
  private var _qiService:String;
  private var _qiPort:String;
  private var _qiProcess:String
  
  
  private var configData:ArrayCollection = new ArrayCollection();
  
  public function qiConfig(enforcer:SingletonEnforcer) {}
  
  public static function getInstance():qiConfig
  {
   if(qiConfig._instance == null)
   {
    qiConfig._instance = new qiConfig(new SingletonEnforcer);
   }
   return qiConfig._instance;
  }
  
  public function get QiAddress():String { return _qiAddress; }
  public function set QiAddress(value:String):void { _qiAddress = value; }
  
  public function get QiService():String { return _qiService; }
  public function set QiService(value:String):void {_qiService = value; }
  
  public function get QiPort():String { return _qiPort; }
  public function set QiPort(value:String):void { _qiPort = value; }
  
  public function get QiProcess():String { return _qiProcess; }
  public function set QiProcess(value:String):void {_qiProcess = value; }
  
  public function getConfig():void
  {
   configRequest.url = "Config/Config.xml";
   configRequest.addEventListener(ResultEvent.RESULT, configResult);
   configRequest.addEventListener(FaultEvent.FAULT, configFault);
   configRequest.send();
  }
  
  private function configResult(event:ResultEvent):void
  {
   //Alert.show("got result");
   configData = configRequest.lastResult.config.qiConfig;
   //Alert.show(configData.getItemAt(0).qiAddress);
   QiAddress = configData.getItemAt(0).qiAddress;
   QiService = configData.getItemAt(0).qiService;
   QiPort = configData.getItemAt(0).qiPort;
   QiProcess = configData.getItemAt(0).qiProcess;
   //var dspEvnt:EventDispatcher = new EventDispatcher();
   //dspEvnt.dispatchEvent(new Event("ConfigResult"));
   dispatchEvent(new Event("ConfigResult"));
   //Alert.show("Dispatched Event");
  }
  
  private function configFault(event:FaultEvent):void
  {
   Alert.show("Error Retrieving Configuration file");
  }
  
  public function QiAgentFactory():QiAgent
  {
   var agent:QiAgent = new QiAgent();
   agent.setAgentAddress(_qiAddress);
   agent.setProcess(_qiProcess);
   agent.setAgentPort(_qiPort);
   agent.setService(_qiService);
   return agent;
  }
 }
]

cofig _xml:

datalogin:

package DataService
{
 import flash.events.EventDispatcher;
 import com.iir.qi.QiAgent;
 import com.iir.qi.QiEvent;
 import mx.controls.Alert;
 import flash.events.Event;
 
 [Event(name="LoginResult", type="flash.events.Events")]
 [Event(name="LoginException", type="flash.events.Events")]
 

 public class DsQiLogin extends EventDispatcher
 {
  public var qiLogin:QiAgent;
 
  public var qiSession:String;
  
  public function DsQiLogin(userName:String, passWord:String, appHandle:String, loginListener:Function, exceptionListener:Function):void
  {
   qiLogin = qiConfig.getInstance().QiAgentFactory();
   qiLogin.addEventListener("qiResponse", qiLoginResult);
   qiLogin.addEventListener("qiException", qiLoginException);
   if (loginListener != null)
   {
    addEventListener("LoginResult", loginListener);
   }
   if (exceptionListener != null)
   {
    addEventListener("LoginException", exceptionListener);
   }
   qiLogin.login(userName, passWord, appHandle);
  }
  
  private function qiLoginResult(event:QiEvent):void
  {
   qiSession = qiLogin.getResponse().toString();
   dispatchEvent(new Event("LoginResult"));
  }
  
  private function qiLoginException(event:QiEvent):void
  {
   Alert.show(event.getResponse().toString());
   dispatchEvent(new Event("LoginExeption"));
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值