Flex 连数据库

原创 2007年10月12日 12:23:00

连接数据库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"));
  }
 }
}

Flex+Java+Oracle详细配置说明,Flex访问Oracle数据库

Flex访问Oracle数据库—— RemoteObject方法——-由于Flex不能直接与Oracle数据库进行通信,所以采用借助Java以RemoteObject方式连接数据库:所需安装程序如下:...
  • shengmingqijiquan
  • shengmingqijiquan
  • 2017年01月11日 10:59
  • 312

Flex面试题及答案

1.我不想在容器里显示滚动条怎么办? 答:指定horizontalScrollPolicy和verticalScrollPolicy为off 2.请问Flex bulider3可以创建几种不同...
  • wanlixingzhe
  • wanlixingzhe
  • 2014年06月07日 19:46
  • 2651

一劳永逸的搞定 flex 布局

寻根溯源话布局 一切都始于这样一个问题:怎样通过 CSS 简单而优雅的实现水平、垂直同时居中。记得刚开始学习 CSS 的时候,看到 float 属性不由得感觉眼前一亮,顺理成章的联想到 Wo...
  • Magneto7
  • Magneto7
  • 2017年04月27日 14:49
  • 31061

浅撸 css3 flex 布局

css3 flex box css 前端
  • ling369523246
  • ling369523246
  • 2016年02月06日 19:22
  • 3354

flex4与Java交互的三种通信方式

原文链接: http://www.blogjava.net/sxyx2008/archive/2010/07/17/326360.html   flex4出来一段时间了,去年看了一段时间fle...
  • luohuayuan69
  • luohuayuan69
  • 2013年10月30日 14:24
  • 1739

Flex 布局教程:实例篇

上一篇文章介绍了Flex布局的语法,今天介绍常见布局的Flex写法。你会看到,不管是什么布局,Flex往往都可以几行命令搞定。 我只列出代码,详细的语法解释请查阅《Flex布局教程:语法篇》。我的主...
  • javaloveiphone
  • javaloveiphone
  • 2016年04月08日 10:48
  • 1514

基于flex弹性布局实现“头尾固定,中间滚动”的页面(纯CSS实现)

之前写过一个小项目,首先这个页面布局是这个样子滴,举个栗子,京东的首页: 这算是一种还算常见的页面样式吧,头部和底部固定(或者底部固定没有头、头部固定没有底),有的会用fixed去做,但有在...
  • qazxbjp2010
  • qazxbjp2010
  • 2017年02月23日 14:14
  • 3555

Flex Web部分浏览器兼容问题解决

今天找了一天这个项目的兼容性的问题,好在功夫不负有心人啊,都解决了 照理来说Flex应该没什么兼容性的问题的,但是我做的这个web应用却是有那么几个问题,在IE8内核的电脑上会出现,部分360浏览器...
  • soanl
  • soanl
  • 2014年06月05日 19:57
  • 3054

Flex应用性能优化

本章简介前几章介绍了Flex应用开发的主要内容,本章将介绍Flex应用性能优化相关的知识,比如如何减少SWF文件的大小和内存泄漏问题以及改善代码性能的技巧等。很多时候,影响应用性能的主要因素是设计。不...
  • zhangchen124
  • zhangchen124
  • 2017年03月18日 21:18
  • 881

使用flex和bison实现的sql引擎解析

由于老师要求,最近在做oceanbase存储过程的实现,在oceanbase 0.4以前是不支持存储过程的。实现的主要步骤主要包括 1、语法解析 2、词法解析 3、具体执行语法树的步骤 现在先...
  • zhujunxxxxx
  • zhujunxxxxx
  • 2014年08月06日 12:13
  • 7689
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Flex 连数据库
举报原因:
原因补充:

(最多只允许输入30个字)