如何使用java检索mysql表的多行

zf2sa74q  于 2021-06-25  发布在  Mysql
关注(0)|答案(0)|浏览(193)

我正在开发一个java应用程序,其中有一个 jInternalFrame 调用的窗体 LCI 其中我有两个 jTextFields 打电话 DATE 以及 SUB_ID_ 。我与名为 FINAL_POST 我把这张table叫做 LCI .
我需要做的是将上面两个用户输入与名为 L_DATE 以及 SUB_ID 分别将sql表的每条记录和检索上的匹配记录 jTable 打电话 tb1 .
假设有两条记录与 DATE 输入和 SUB_ID_ 输入,一条记录在上午10点12分输入,另一条记录在同一天下午1点15分输入,在这种情况下,此时只检索第一条记录。
换言之,即使有几个记录符合 DATE 以及 SUB_ID_ 如果存在,则只检索第一条记录。
下面是我的相关代码 jButton 称为将\u加载到\u表。 DATE , SUB_ID_ , Load_To_Table 以及 tb1 ```
private void Load_To_TableActionPerformed(java.awt.event.ActionEvent evt) {
try{

        Statement s = DB.getConnection().createStatement();
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        ResultSet rs,rs1,rs2,rs3,rs4,rs5,rs6,rs7;
        rs=j.getData("select E_ID from User where E_ID='"+user+"'");
        rs1=j.getData("select * from employee where E_ID= '"+user+"'");
        rs2=j.getData("select * from SUBJECT where SUB_ID= '"+SUB_ID_.getText()+"'");
        rs3=j.getData("select * from LCI");
        if((((rs.next()==true)&&(rs1.next()==true))&&(rs2.next()==true))&&(rs3.next()==true))
        {
            if((rs.getString(1).equals(rs2.getString(4)))&&(rs2.getString(4).equals(rs3.getString(5))))
    {
             rs4=j.getData("select * from LCI where SUB_ID='"+SUB_ID_.getText()+"'");

                if((rs4.next()==true))
                {
                   try
                   {                      
                        rs5=j.getData("select count(L_DATE)from LCI where L_DATE='"+DATE.getText()+"'");

                        if(rs5.next())
                        {
                            int count=rs5.getInt(1);
                            System.out.println(rs5.getInt(1));

                            DefaultTableModel dtm=(DefaultTableModel)tb1.getModel();
                            Vector v=new Vector();
                            Vector v1=new Vector(); 
                            Vector v2=new Vector(); 

                            for(int i=0;i<=count;i++)
                            {
                                rs6=j.getData("select * from LCI where L_DATE='"+DATE.getText()+"'");

                                if(rs6.next()==true)
                                {
                                    JOptionPane.showMessageDialog(this, "Done");                        
                                    v.addElement(rs6.getString(1));
                                    dtm.addColumn(v);
                                    v1.addElement(rs6.getString(3));
                                    dtm.addColumn(v1);
                                    v2.addElement(rs6.getString(10));
                                    dtm.addColumn(v2);
                                 s.executeQuery("SELECT * FROM   LCI WHERE  L_ID IN(SELECT (L_ID + 1)FROM   LCI  WHERE  L_DATE = '"+DATE.getText()+"'");
                                }
                                else
                                {
                                    JOptionPane.showMessageDialog(this, "Please try another date");
                                }           
                            }                      
                        }
                        else
                        {
                            System.out.println("not ok");
                        }
                    }                        

                    catch(Exception ex)
                    {
                        ex.printStackTrace();
                    }

                }
                else
                {
                    JOptionPane.showMessageDialog(this, "Your Employee Identity is not valid.Please contact the admin");
                }

            }
            else
            {
                JOptionPane.showMessageDialog(this, "comparision failed");
            }
        }
       else{
          JOptionPane.showMessageDialog(this, "Failed to connect with database.Please re-check your Employee Identity Nuumber and Try again.");
       }
    }
    catch(Exception  ex)
    {
        ex.printStackTrace();
    }

// TODO add your handling code here:
}
``` LCI 表说明 LCI 包含两个与两个用户输入匹配的数据项的表
只有一条记录
我在这里很困惑如何检索到所有匹配的记录 tb1 .
怎么做?
或者,如果有人能告诉我如何命令程序读取/转到db表的下一行/记录,并检查该记录是否与两个用户输入匹配,请不要犹豫。:)
我使用netbeans8.0.2创建gui,使用“mysql查询浏览器”创建数据库。
提前谢谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题