使用远程对象从数据库中填充组合框
Posted
技术标签:
【中文标题】使用远程对象从数据库中填充组合框【英文标题】:filling combobox from database using remote object 【发布时间】:2014-07-16 04:57:55 【问题描述】:我是 flex 的新手,想从数据库中填充我的组合框,这是代码,我认为一切正常,但它不起作用!!! 你能帮我找到我想念的东西吗!!
首先这是我班级的代码,它从数据库中选择一列(Intitule Chapitre)
public class RapportDao
public Connection conectar()
Connection cn = null;
String connectionUrl = "jdbc:sqlserver://localhost\\SQLEXPRESS;databaseName=mabase;user=sa;password=sa;";
try
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
cn = DriverManager.getConnection(connectionUrl);
catch(Exception ex)
System.out.println("Error : " + ex.getMessage());
return cn;
public ArrayList<Rapport> Selection()
Connection conn = conectar();
ArrayList<Rapport> list = null;
if (conn!=null)
try
Rapport pr = null;
String a;
list = new ArrayList<Rapport>();
String sql = "select IntituleChap from Rapport";
Statement st = conn.createStatement();
ResultSet rs=st.executeQuery(sql);
while (rs.next())
a=rs.getString("IntituleChap");
pr = new Rapport();
pr.setIntituleChap(a);
list.add(pr);
catch(SQLException e )
// System.out.print(e.getMessage());
System.out.println("Error = " + e.getMessage());
else
return list;
这是我的组合框动作脚本代码
<fx:Script>
<![CDATA[
import spark.components.ComboBox;
private function getTypeprojetResult(event : ResultEvent):void
//Alert.show(""+event.result);
]]>
<fx:Declarations>
<s:RemoteObject id="RemoteRapportDao"
destination="RapportDaoDest"
fault="onFault(event)">
<s:method name="Selection" result="getTypeprojetResult(event);"/>
</s:RemoteObject>
</fx:Declarations>
<s:ComboBox id="cmbchap" x="130" y="223" dataProvider="RemoteRapportDao.Selection.lastResult"/>
RemoteRapportDao : 是 id RemoteObject
Selection() : 我在服务上的方法
我没有在组合框上得到任何东西! 谢谢!
【问题讨论】:
【参考方案1】:您的代码是正确的,但您缺少的是在填写之前从您的服务调用该函数。 为此,您需要在应用程序完成处理程序中使用一个侦听器
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:esri="http://www.esri.com/2008/ags"
minWidth="1000" minHeight="700" applicationComplete="application1_applicationCompleteHandler(event)">
当您的应用程序完全启动时调用此方法。 这就是你的做法。
protected function application1_applicationCompleteHandler(event:FlexEvent):void
RemoteRapportDao.Selection()
【讨论】:
以上是关于使用远程对象从数据库中填充组合框的主要内容,如果未能解决你的问题,请参考以下文章