親愛的朋友們,我想知道如何使用rs2xml顯示結果集到jtable我知道jtablename.setmodel(dbutils.setresultsettotable(rs));但我想知道如何retriev的所有記錄,並顯示在jtablle我的代碼是如何使用rs2xml jar庫填充Jtable
private void search_by_topic() throws SQLException, ClassNotFoundException {
try
{
SessionFactory sf;
Configuration cfg=new Configuration();
System.out.println("search_by_topic me agaya");
cfg.configure("hiber_config/hibernate.cfg.xml");
sf=cfg.buildSessionFactory();
Session ses=sf.openSession();
ses.beginTransaction();
Query qr1=ses.createQuery("from Topic where chapter_id=:chapter_id");
qr1.setParameter("chapter_id", chap_id);
List<Topic> topic_list=qr1.list();
top_id=topic_list.get(jComboBox3.getSelectedIndex()).getTopic_id();
System.out.println("Topic ID is "+top_id);
Query qr2=ses.createQuery("from Test as t where t.import_level=:import_level and t.import_level_id=:import_level_id");
qr2.setParameter("import_level", topicimport);
qr2.setInteger("import_level_id",top_id);
List<Test> test_list=qr2.list();
//Field[] fields = null;
System.out.println("Size of test_list is"+test_list.size());
//Iterator<Test> itr=test_list.iterator();
int[] test_id=new int[test_list.size()];
for(int j=0;j<test_list.size();j++)
{
System.out.println("Test_List Import Wale me agaya");
//fields=t.getClass().getDeclaredFields();
test_id[j]=test_list.get(j).getId();
System.out.println("test_id: is "+test_id[j]);
}
System.out.println("Size of test_id array is "+test_id.length);
for(int j=0;j<test_id.length;j++)
{
System.out.println("test_id now is "+j);
int studentid=98;
String sqlquery="SELECT ST.ID id,ST.STUDENT_ID student_id,ST.attemptNumber attempt_Number,ST.TEST_ID testId,ST.TEST_ID student_test_id,T.description description,T.test_duration test_duration,T.test_score Test_Score,ST.SCHEDULED_START_TIME_BEGIN scheduled_start_time_begin,ST.SCHEDULED_START_TIME_END scheduled_start_time_end,ST.TEST_START_DATE test_start_date,ST.LAST_ACTIVE_TIME test_last_active_time,ST.TEST_ATTEMPTED test_attempted,ST.ALLOW_VIEW_REPORT allow_view_report FROM student_test as ST,test as T WHERE ST.PAYMENT_STATUS='A' AND ST.TEST_ID = T.id AND ST.STUDENT_ID='"+studentid+"' AND ST.TEST_ATTEMPTED='0' AND T.id='"+test_id[j]+"' ORDER BY ST.ID";
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/school_db","root","");
Statement pst=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=pst.executeQuery(sqlquery);
System.out.println(rs.getRow());
System.out.println(rs.toString());
jTable1.revalidate();
jTable1.setModel(DbUtils.resultSetToTableModel(rs));
//jTable1.revalidate();
/*SessionFactory sf1;
Configuration cfg1=new Configuration();
System.out.println("join query me agaya");
cfg1.configure("hiber_config/hibernate.cfg.xml");
sf1=cfg.buildSessionFactory();
Session ses1=sf1.openSession();
ses1.beginTransaction();
ses1.doWork(new Work()
{
@Override
public void execute(java.sql.Connection cnctn) throws SQLException
{
java.sql.PreparedStatement pst=cnctn.prepareStatement(sqlquery);
rs=pst.executeQuery();
System.out.println(rs.toString());
}
});
ses1.getTransaction().commit();
}
ses.getTransaction().commit();
System.out.println("Test Data Retrieved");
ses.close();*/
}
}
catch(HibernateException e)
{
e.printStackTrace();
}
}
}
我的代碼工作正常在這裏,我能夠檢索所有結果集,但在JTable中我只得到最後循環記錄並不是每個循環記錄 請幫我
private void search_by_topic() throws SQLException, ClassNotFoundException {
try
{
SessionFactory sf;
Configuration cfg=new Configuration();
System.out.println("search_by_topic me agaya");
cfg.configure("hiber_config/hibernate.cfg.xml");
sf=cfg.buildSessionFactory();
Session ses=sf.openSession();
ses.beginTransaction();
Query qr1=ses.createQuery("from Topic where chapter_id=:chapter_id");
qr1.setParameter("chapter_id", chap_id);
List<Topic> topic_list=qr1.list();
top_id=topic_list.get(jComboBox3.getSelectedIndex()).getTopic_id();
System.out.println("Topic ID is "+top_id);
Query qr2=ses.createQuery("from Test as t where t.import_level=:import_level and t.import_level_id=:import_level_id");
qr2.setParameter("import_level", topicimport);
qr2.setInteger("import_level_id",top_id);
List<Test> test_list=qr2.list();
//Field[] fields = null;
System.out.println("Size of test_list is"+test_list.size());
//Iterator<Test> itr=test_list.iterator();
int[] test_id=new int[test_list.size()];
for(int j=0;j<test_list.size();j++)
{
System.out.println("Test_List Import Wale me agaya");
//fields=t.getClass().getDeclaredFields();
test_id[j]=test_list.get(j).getId();
System.out.println("test_id: is "+test_id[j]);
}
System.out.println("Size of test_id array is "+test_id.length);
for(int j=0;j<test_id.length;j++)
{
System.out.println("test_id now is "+j);
int studentid=98;
String sqlquery="SELECT ST.ID id,ST.STUDENT_ID student_id,ST.attemptNumber attempt_Number,ST.TEST_ID testId,ST.TEST_ID student_test_id,T.description description,T.test_duration test_duration,T.test_score Test_Score,ST.SCHEDULED_START_TIME_BEGIN scheduled_start_time_begin,ST.SCHEDULED_START_TIME_END scheduled_start_time_end,ST.TEST_START_DATE test_start_date,ST.LAST_ACTIVE_TIME test_last_active_time,ST.TEST_ATTEMPTED test_attempted,ST.ALLOW_VIEW_REPORT allow_view_report FROM student_test as ST,test as T WHERE ST.PAYMENT_STATUS='A' AND ST.TEST_ID = T.id AND ST.STUDENT_ID='"+studentid+"' AND ST.TEST_ATTEMPTED='0' AND T.id='"+test_id[j]+"' ORDER BY ST.ID";
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/school_db","root","");
Statement pst=con.createStatement();
rs=pst.executeQuery(sqlquery);
while(rs.next())
{
//JOptionPane.showMessageDialog(null, "Table me Agaaya");
System.out.println("Number of rows:- "+rs.getRow());
System.out.println(rs.toString());
}
}
ses.getTransaction().commit();
System.out.println("Test Data Retrieved");
ses.close();
}
catch(HibernateException e)
{
e.printStackTrace();
}
}
}
這是我的代碼,並在其工作的System.out.println精細它顯示所有數據現在u能告訴我如何傳遞這個數據jtable和讓你知道我什麼時候使用dbutils它也檢索列ñ名自動和我沒有在JTable中給列名手動
u能請更正代碼它會幫助我很多,因爲我在Java –
我有更新鮮編輯我的代碼,請閱讀我的代碼,並幫助我 –
@LovePoet我們不是在這裏寫你的代碼。你通過嘗試學習。我給了你代碼可能看起來像的一般結構。因此,花點時間瞭解TableModles如何工作並填充空白的概念。 – camickr