使用 WHERE 子句选择的数据加载 JCombobox

Posted

技术标签:

【中文标题】使用 WHERE 子句选择的数据加载 JCombobox【英文标题】:Loading JCombobox with data selected using a WHERE clause 【发布时间】:2013-02-27 14:22:31 【问题描述】:

我试图通过比较表中的数据和来自 myframe 的数据来加载到组合框,但是每次我的代码运行时我都会收到以下错误消息:- java.lang.NullPointerException,我也尝试使用向量。请帮助:这是我的数据库类中的代码

    public ArrayList allocateStaffcombobox(Allocation aloc) throws SQLException

    ArrayList<Allocation> vec = new ArrayList<Allocation>();
    String sql = "select * from staffsubalocation where SubCode='"+aloc.getSubjCode()+"'";

    ResultSet result = stmt.executeQuery(sql);

    while (result.next())
    

        String staffNo = result.getString("StaffNo");

        String subcode=result.getString("SubCode");
        System.out.println(staffNo+" "+ subcode);
        vec.add(new Allocation(staffNo,subcode));
    

    return vec;


这是来自我的 java 类的代码:

     public  void loadStaffCombo()
    
        try
        
            DatabaseManager db = new DatabaseManager();
            ArrayList<Allocation> sub=db.allocateStaffcombobox(null);
            Staffcombobox.removeAllItems();
           // String firsIndex = " ";
            for(int x = 0; x< sub.size(); x++)
            
                Staffcombobox.addItem( sub.get(x).getStaffNo());
            

        
        catch (SQLException ex)
        
            Logger.getLogger(ViewSubjectsJInternalFrame.class.getName()).log(Level.SEVERE, null, ex);
        

    

【问题讨论】:

你能发布错误堆栈跟踪吗? 您在loadStaffCombo 方法中的声明ArrayList&lt;Allocation&gt; sub = db.allocateStaffcombobox(null); 中明确传递null,这肯定会给您一个NullPointerException 我该如何解决这个问题(在该语句中不传递 null 【参考方案1】:

您将 null 作为输入传递给:

ArrayList<Allocation> sub=db.allocateStaffcombobox(null);

然后您尝试在以下位置取消引用该 null:

String sql = "select * from staffsubalocation where SubCode='"+aloc.getSubjCode()+"'";

当你尝试调用一个空对象的方法时,你会得到一个 NullPointerException

【讨论】:

以上是关于使用 WHERE 子句选择的数据加载 JCombobox的主要内容,如果未能解决你的问题,请参考以下文章

mysql加载数据infile where子句

spark sql 在不使用 where 子句的情况下将所有数据加载到内存中

在 Where 子句中选择不返回数据

按确切数字选择 where 子句

如何选择具有多个选择值的数据作为 where 子句? - Ajax Codeigniter

KQL 查询 - 在 where 子句中相对选择今天的数据