问题:jdbTable1每刷新一次 自动把上一次数据给加进来了 与预想不符
解决方法:先重写jdbTable1 然后刷仅刷新符合条件的数据 这里不知道该如何做?请大家帮帮忙
public class ScrapEquipmentSearch extends JFrame
{ public ScrapEquipmentSearch()
{
try {
jbInit();
}
catch (Exception ex) {
ex.printStackTrace();
} } private void jbInit() throws Exception {
.........
database1.setConnection(new ConnectionDescriptor("jdbc:odbc:SDB", "sa",
"123", false, "sun.jdbc.odbc.JdbcOdbcDriver"));
queryDataSet1.setReadOnly(true);
queryDataSet1.setSort(new com.borland.dx.dataset.SortDescriptor("",
new String[] {"ID"}, new boolean[] {false, }, null, 0));
queryDataSet1.setStoreClassFactory(null);
queryDataSet1.setAccumulateResults(true);
queryDataSet1.setQuery(new QueryDescriptor(database1,
"Select * from AppendEquipmentRegister where if_scrap =1", null, true,
Load.ALL));
.............
jdbTable1.setDataSet(queryDataSet1);
tableScrollPane1.setBorder(BorderFactory.createEtchedBorder());
tableScrollPane1.setDebugGraphicsOptions(0);
jComboBox1.setForeground(Color.red);
jButton3.setToolTipText("");
jButton3.setText("刷新");
jButton3.addActionListener(new ScrapEquipmentSearch_jButton3_actionAdapter(this));
jComboBox2.setForeground(Color.red);
jComboBox2.addItemListener(new ScrapEquipmentSearch_jComboBox2_itemAdapter(this));
jPanel1.add(jButton2, new XYConstraints(667, 6, 90, 37));
jPanel1.add(jCheckBox1, new XYConstraints(443, 12, -1, -1));
jPanel1.add(jButton1, new XYConstraints(562, 6, 90, 37));
jPanel1.add(jLabel1, new XYConstraints(7, 15, -1, -1));
this.getContentPane().add(tableScrollPane1,
new XYConstraints(45, 89, 798, 351));
tableScrollPane1.getViewport().add(jdbTable1); this.getContentPane().add(jPanel1, new XYConstraints(45, 4, 798, 56));
jPanel1.add(jComboBox1, new XYConstraints(71, 11, 85, -1));
jPanel1.add(jButton3, new XYConstraints(163, 8, 84, 33));
jPanel1.add(jComboBox2, new XYConstraints(312, 11, 111, -1));
jPanel1.add(jLabel2, new XYConstraints(274, 15, -1, -1));
queryDataSet1.setColumns(new Column[] {column1, column2, column3, column4,
column5, column6, column7, column8, column9,
column10, column11, column12,
column13, column14, column15});
} XYLayout xYLayout1 = new XYLayout();
JPanel jPanel1 = new JPanel();
XYLayout xYLayout2 = new XYLayout();
JLabel jLabel1 = new JLabel();
JComboBox jComboBox1 = new JComboBox();
JLabel jLabel2 = new JLabel();
String Selected1[]={"按默认顺序","按IP地址","按购买时间","按设备价值","按设备类型","按设备ID"};
JComboBox jComboBox2 = new JComboBox(Selected1);
JCheckBox jCheckBox1 = new JCheckBox();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
Database database1 = new Database();
QueryDataSet queryDataSet1 = new QueryDataSet();
Column column1 = new Column();
Column column2 = new Column();
Column column3 = new Column();
Column column4 = new Column();
Column column5 = new Column();
Column column6 = new Column();
Column column7 = new Column();
Column column8 = new Column();
Column column9 = new Column();
Column column10 = new Column();
Column column11 = new Column();
Column column12 = new Column();
Column column13 = new Column();
Column column14 = new Column();
Column column15 = new Column();
TableScrollPane tableScrollPane1 = new TableScrollPane();
JdbTable jdbTable1 = new JdbTable();
JButton jButton3 = new JButton();
public void this_windowOpened(WindowEvent e)
{
String ls_tmp;
String sql_basic;
ResultSet rs = null;
PreparedStatement stmt= null;
try
{
conn = DriverManager.getConnection("jdbc:odbc:SDB", "sa","123");
sql_basic="select DeptName as dept from Department";
stmt = conn.prepareStatement(sql_basic);
rs=stmt.executeQuery();
while (rs.next())
{
//将基础表department 中数据插入jComboBox1
ls_tmp = rs.getString("dept");
jComboBox1.addItem(ls_tmp);
}
stmt.close();
conn.close(); }
catch (Exception ex)
{
ex.printStackTrace();
}
} public void jButton2_actionPerformed(ActionEvent e)
{
//退出 返回上一界面
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);//默认点击关闭
dispose(); } public void jComboBox2_itemStateChanged(ItemEvent e)
{ } public void jButton3_actionPerformed(ActionEvent e)
{ PreparedStatement stmt1 = null;
String ls_dept = (String)jComboBox1.getSelectedItem();
String sql_dept = "select * from AppendEquipmentRegister where dept = '"+ls_dept+"'and if_scrap =1 ";
try
{
conn1= DriverManager.getConnection("jdbc:odbc:SDB", "sa","123");
stmt1 = conn1.prepareStatement(sql_dept);
stmt1.execute();
this.jdbTable1.setModel(new DefaultTableModel());//清空原有数据
//想在jdbTable1中重新刷出符合条件的数据 请问该如何写? //queryDataSet1.refresh() ;
}
catch (Exception ex)
{
ex.printStackTrace();
} }
}
.........
}
解决方法:先重写jdbTable1 然后刷仅刷新符合条件的数据 这里不知道该如何做?请大家帮帮忙
public class ScrapEquipmentSearch extends JFrame
{ public ScrapEquipmentSearch()
{
try {
jbInit();
}
catch (Exception ex) {
ex.printStackTrace();
} } private void jbInit() throws Exception {
.........
database1.setConnection(new ConnectionDescriptor("jdbc:odbc:SDB", "sa",
"123", false, "sun.jdbc.odbc.JdbcOdbcDriver"));
queryDataSet1.setReadOnly(true);
queryDataSet1.setSort(new com.borland.dx.dataset.SortDescriptor("",
new String[] {"ID"}, new boolean[] {false, }, null, 0));
queryDataSet1.setStoreClassFactory(null);
queryDataSet1.setAccumulateResults(true);
queryDataSet1.setQuery(new QueryDescriptor(database1,
"Select * from AppendEquipmentRegister where if_scrap =1", null, true,
Load.ALL));
.............
jdbTable1.setDataSet(queryDataSet1);
tableScrollPane1.setBorder(BorderFactory.createEtchedBorder());
tableScrollPane1.setDebugGraphicsOptions(0);
jComboBox1.setForeground(Color.red);
jButton3.setToolTipText("");
jButton3.setText("刷新");
jButton3.addActionListener(new ScrapEquipmentSearch_jButton3_actionAdapter(this));
jComboBox2.setForeground(Color.red);
jComboBox2.addItemListener(new ScrapEquipmentSearch_jComboBox2_itemAdapter(this));
jPanel1.add(jButton2, new XYConstraints(667, 6, 90, 37));
jPanel1.add(jCheckBox1, new XYConstraints(443, 12, -1, -1));
jPanel1.add(jButton1, new XYConstraints(562, 6, 90, 37));
jPanel1.add(jLabel1, new XYConstraints(7, 15, -1, -1));
this.getContentPane().add(tableScrollPane1,
new XYConstraints(45, 89, 798, 351));
tableScrollPane1.getViewport().add(jdbTable1); this.getContentPane().add(jPanel1, new XYConstraints(45, 4, 798, 56));
jPanel1.add(jComboBox1, new XYConstraints(71, 11, 85, -1));
jPanel1.add(jButton3, new XYConstraints(163, 8, 84, 33));
jPanel1.add(jComboBox2, new XYConstraints(312, 11, 111, -1));
jPanel1.add(jLabel2, new XYConstraints(274, 15, -1, -1));
queryDataSet1.setColumns(new Column[] {column1, column2, column3, column4,
column5, column6, column7, column8, column9,
column10, column11, column12,
column13, column14, column15});
} XYLayout xYLayout1 = new XYLayout();
JPanel jPanel1 = new JPanel();
XYLayout xYLayout2 = new XYLayout();
JLabel jLabel1 = new JLabel();
JComboBox jComboBox1 = new JComboBox();
JLabel jLabel2 = new JLabel();
String Selected1[]={"按默认顺序","按IP地址","按购买时间","按设备价值","按设备类型","按设备ID"};
JComboBox jComboBox2 = new JComboBox(Selected1);
JCheckBox jCheckBox1 = new JCheckBox();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
Database database1 = new Database();
QueryDataSet queryDataSet1 = new QueryDataSet();
Column column1 = new Column();
Column column2 = new Column();
Column column3 = new Column();
Column column4 = new Column();
Column column5 = new Column();
Column column6 = new Column();
Column column7 = new Column();
Column column8 = new Column();
Column column9 = new Column();
Column column10 = new Column();
Column column11 = new Column();
Column column12 = new Column();
Column column13 = new Column();
Column column14 = new Column();
Column column15 = new Column();
TableScrollPane tableScrollPane1 = new TableScrollPane();
JdbTable jdbTable1 = new JdbTable();
JButton jButton3 = new JButton();
public void this_windowOpened(WindowEvent e)
{
String ls_tmp;
String sql_basic;
ResultSet rs = null;
PreparedStatement stmt= null;
try
{
conn = DriverManager.getConnection("jdbc:odbc:SDB", "sa","123");
sql_basic="select DeptName as dept from Department";
stmt = conn.prepareStatement(sql_basic);
rs=stmt.executeQuery();
while (rs.next())
{
//将基础表department 中数据插入jComboBox1
ls_tmp = rs.getString("dept");
jComboBox1.addItem(ls_tmp);
}
stmt.close();
conn.close(); }
catch (Exception ex)
{
ex.printStackTrace();
}
} public void jButton2_actionPerformed(ActionEvent e)
{
//退出 返回上一界面
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);//默认点击关闭
dispose(); } public void jComboBox2_itemStateChanged(ItemEvent e)
{ } public void jButton3_actionPerformed(ActionEvent e)
{ PreparedStatement stmt1 = null;
String ls_dept = (String)jComboBox1.getSelectedItem();
String sql_dept = "select * from AppendEquipmentRegister where dept = '"+ls_dept+"'and if_scrap =1 ";
try
{
conn1= DriverManager.getConnection("jdbc:odbc:SDB", "sa","123");
stmt1 = conn1.prepareStatement(sql_dept);
stmt1.execute();
this.jdbTable1.setModel(new DefaultTableModel());//清空原有数据
//想在jdbTable1中重新刷出符合条件的数据 请问该如何写? //queryDataSet1.refresh() ;
}
catch (Exception ex)
{
ex.printStackTrace();
} }
}
.........
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货