我正在开发一个java应用程序,其中我有一个名为jInternalFrame
的{{1}}表单,其中有两个LCI
名为jTextFields
和DATE
。我与名为SUB_ID_
的数据库建立db连接,其中我有一个名为FINAL_POST
的表。
我需要做的是将两个用户输入分别与名为LCI
和L_DATE
的列进行比较,分别对应SQL表的每个记录,并将匹配的记录检索到SUB_ID
调用jTable
。
假设有两条记录与tb1
输入和DATE
输入相符,一条记录在早上10点12分输入,另一条记录在下午1点15分输入。在同一天,在这种情况下,目前只检索了第一条记录。
换句话说,即使有几个记录与SUB_ID_
和DATE
相符,但只检索到第一条记录。
以下是我的相关SUB_ID_
名为Load_To_Table的代码。DATE
, SUB_ID_
, Load_To_Table
and tb1
jButton
LCI
table containing two data items matching with both of the user inputs
Out put containg only one record
我很困惑,如何将所有匹配的记录检索到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:
}
。
如何完成这项工作?
或者,如果任何人可以告诉我如何命令程序读取/转到db表的下一行/记录并检查该记录是否与两个用户输入匹配,请不要犹豫。 :)
我使用Netbeans 8.0.2进行GUI创建,使用“MYSQL Query Browser”进行数据库创建。
提前致谢。