-1
我工作的一個小練習使用jDateChooser,使用ORACLE人力資源數據庫和Netbeans的,我要計算使用搜索兩個按鈕jDateChooser
值之間的差值,這裏是我的截圖JFrame的這說明了一切,包括我的輸出誤差:在SQL查詢
http://prnt.sc/d7k538 http://image.prntscr.com/image/6e305fee272d40c3b2b9845febf5a651.png
這裏是我的代碼:
import java.util.*;
import java.sql.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class Exercise extends javax.swing.JFrame {
Connection Con = myConn.getCon();
Statement St = null;
ResultSet Rs = null;
String tab[] = {"LAST_NAME", "FIRST_NAME", "JOB_TITLE", "DEPARTMENT_NAME", "SALARY"};
DefaultTableModel dtm = new DefaultTableModel(tab, 0);
public Exercise() {
initComponents();
jTable1.setModel(dtm);
fill_combo_job();
fill_combo_dept();
int Rc = dtm.getRowCount();
row_count_label.setText(Integer.toString(Rc));
}
public void fill_combo_job(){
try{
//Getting data from table JOBS
St = Con.createStatement();
Rs = St.executeQuery("SELECT DISTINCT JOB_ID FROM JOBS");
//Filling our jcombobox
while(Rs.next()){
job_id_combo.addItem(Rs.getString("JOB_ID"));
}
}catch(Exception ex){
System.out.println(ex.toString());
}
}
private void fill_combo_dept(){
try{
St = Con.createStatement();
Rs = St.executeQuery("SELECT DISTINCT DEPARTMENT_ID FROM EMPLOYEES WHERE DEPARTMENT_ID IS NOT NULL ORDER BY DEPARTMENT_ID");
while(Rs.next()){
dept_id_combo.addItem(Rs.getString("DEPARTMENT_ID"));
}
}catch(Exception ex){
System.out.println(ex.toString());
}
}
private void search_btn(){
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String date1 = df.format(jDateChooser1.getDate());
String date2 = df.format(jDateChooser2.getDate());
try{
St = Con.createStatement();
Rs = St.executeQuery("SELECT e.LAST_NAME, e.FIRST_NAME, j.JOB_TITLE, d.DEPARTMENT_NAME, e.SALARY FROM EMPLOYEES e, JOBS j, DEPARTMENTS d "
+ "WHERE j.JOB_ID = e.JOB_ID "
+ " AND d.DEPARTMENT_ID = e.DEPARTMENT_ID"
+ " AND j.JOB_ID = "+job_id_combo.getSelectedItem().toString()+" AND e.DEPARTMENT_ID = "+dept_id_combo.getSelectedItem().toString()
+ " AND HIRE_DATE BETWEEN TO_CHAR ('"+date1+"', 'dd/MM/yyyy') AND TO_CHAR('"+date2+"', 'dd/MM/yyyy')"
+ " AND SALARY > "+salary_field.getText());
while(Rs.next()){
dtm.addRow(new Object[]{Rs.getString("LAST_NAME"), Rs.getString("FIRST_NAME"),
Rs.getString("JOB_TITLE"), Rs.getString("DEPARTMENT_NAME"), Rs.getInt("SALARY")});
}
Con.close();
St.close();
Rs.close();
}catch(Exception ex){
System.out.println(ex.toString());
}
}
public void reset_form(){
job_id_combo.setSelectedIndex(0);
dept_id_combo.setSelectedIndex(0);
salary_field.setText("");
}
發貼時請注意以下事項: 1)帖子最小問題2)僅發佈有問題的代碼片段)。此外,你的截圖說明了一些不同的東西,你的問題有所不同這與jDateChooser無關,因爲問題出在AC_MGR上。在發佈之前瞭解你的問題。' –