使用远程对象从数据库中填充组合框

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()

【讨论】:

以上是关于使用远程对象从数据库中填充组合框的主要内容,如果未能解决你的问题,请参考以下文章

使用工具提示 WPF 在数据网格中填充组合框

在Java中使用hibernate从数据库中填充组合框

如何从对象列表中填充组合框

使用组合列访问数据库填充组合框

如何从数据库查询中填充组合框?

使用组合框从数据库中选择表并填充 datagridview - 无法使其工作