TEL:400-8793-956
当前位置:程序、服务器

接近将数据库查询显示给Jlist时,我缺少什么?

提问者: 近期获赞: 浏览人数: 发布时间:2021-01-14 13:47:45

 问:我觉得我可能非常接近让我的应用程序按照我希望的方式在Jlist中显示数据库中的行(每行中的每一列都显示为Jlist上的一项。我认为问题可能出在将jList变量连接到模型(jlist称为jList1),或者因为jlist自动填充了我尚未尝试删除的项目(item1,item2)等,所以必须先删除它们我可以期望它能正常工作吗?任何帮助都将不胜感激!.......看起来像: 

 
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt){                                         
       
        DefaultListModel <String> model = new DefaultListModel <>() ;
        JScrollPane窗格=新的JScrollPane(jList1);
        jList1.setModel(model);
        字符串sqlQuery =“从APP.DATA123中选择Column1,Column2,Column3,Column4,Column5” + 
“其中(Column1 =?)AND(Column2 =?)AND(Column3 =?)OR(Column1 =?)AND(Column2 =? )“;
 
                         
 
            字符串abc = jTextField2.getText();
            字符串cba =(String)jComboBox1.getSelectedItem();
            字符串cab =(String)jComboBox2.getSelectedItem();
            字符串数据=“ jdbc:derby:// localhost:1527 / sample”;
        尝试(
              Connection conn = DriverManager.getConnection(
              data,“ app”,“ app”);
              PreparedStatement st = conn.prepareStatement(sqlQuery)){ 
          
          Class.forName(“ org.apache.derby.jdbc.ClientDriver”);
          st.setString(1,abc);
          st.setString(2,cba);
          st.setString(3,cab);       
          st.setString(4,cba);
          st.setString(5,cab);
          ResultSet rec = st.executeQuery();
          
           final String SPACE =“”;
           StringBuilder sBuilder = new StringBuilder();
           
            while(rec.next()){
             sBuilder.setLength(0);
             sBuilder.append(rec.getString(“ Column1”))。append(SPACE)
             .append(rec.getString(“ Column2”))。append(SPACE)
             .append(rec.getString(“ Column3”))。append(空间)
             .append(rec.getString(“ Column4”))。append(SPACE)
             .append(rec.getString(“ Column5”))。append(SPACE);
             
             model.addElement(sBuilder.toString());
            }
          st.close();
          
            } catch(SQLException s){
          System.out.println(“ SQL错误:” + s.toString()+“”
                  + s.getErrorCode()+“ + s.getSQLState());
      } catch(Exception e){
          System.out.println(“ Error:” + e.toString()
          + e.getMessage());
 
 
答:这里,我们有两种方法:
首先,您需要从DefaultListModel中删除所有元素。
 
DefaultListModel <String>模型=新的DefaultListModel <>();
model.removeAllElements();
第二,您需要清空列表。
 
jList1.setListData(new String [0]);
 
上一篇: 除了百度统计您还找到哪种工具最适合网站分析?
下一篇: SEO排名更好!原创内容和更新的网站是否有效?