数据库作为tree数据源

自己写的动态tree,自己先留着备用,如果想用请下载个blazeds
===========mxml段代码============
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
 <mx:Tree id="tree" x="23" y="10" width="204" height="459" labelField="@label" showRoot="true" creationComplete="loadTree()"></mx:Tree>
 <mx:Script>
  <![CDATA[
   import flash.net.navigateToURL;
   import mx.controls.Alert;
   import mx.collections.ArrayCollection;
   import mx.rpc.events.ResultEvent;

   public function loadTree():void{
    dbiz.queryXML();//java端业务方法
    dbiz.addEventListener(ResultEvent.RESULT,resultHandle);
   }
   //获得结果集xml格式,并做tree的数据源
   public function resultHandle(e:ResultEvent):void{
    var arr:XMLList=XMLList(e.result);
    this.tree.dataProvider=arr;
   }
   
  ]]>
 </mx:Script>
 <!--用remoteobject和java交互-->

 <mx:RemoteObject id="dbiz" destination="demoBiz"/>

</mx:Application>

===============java端代码==================
package com.qx.biz;

import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.qx.util.XmlUtil;

public class DemoBiz {
 private static final String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
 private static final String conStr="jdbc:sqlserver://localhost:1433;databaseName=Demo";
 private static final String user="sa";
 private static final String pwd="ok";
 
 public Connection getConn(){
  Connection con=null;
  try {
   Class.forName(driverName);
   con=DriverManager.getConnection(conStr,user,pwd);

  } catch (Exception e) {
   e.getMessage();
  }
  return con;
 }
 
 public String queryXML(){
  Connection con=this.getConn();
  ResultSet rs=null;
  String sql="select * from SysFun";
  String a="";
  try {
   PreparedStatement pst=con.prepareStatement(sql);
   rs=pst.executeQuery();
   a=XmlUtil.convertResultSetToXML2(rs);//自定义result结果集转化成xml格式
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return a;
 }
}

============XmlUtil方法=======
public static String convertResultSetToXML2(ResultSet rs) {
 StringBuffer sb = new StringBuffer();
 try {
  ResultSetMetaData rsmd = rs.getMetaData();
  if (rsmd.getColumnCount() >= 0)
   sb.append("<row label=/"root/">/n");
   sb.append("/t<row label=/"Hello/">/n");
   for (; rs.next(); sb.append("")) {
     sb.append(
       (new StringBuilder("/t/t<")).append(
         "row label=/"").toString()).append(
       rs.getObject(2) != null ? rs.getObject(2) : "")
       .append("/"/>/n");
   }
   sb.append("/t</row>/n");
   sb.append("</row>/n");
 } catch (Exception e) {
  e.printStackTrace();
 }
 return sb.toString();
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值