Posted on 2007-06-12 00:57
停留的風 閱讀(1596)
評論(0) 編輯 收藏 所屬分類:
快速前進的Java
數據庫的操作:
public ArrayList SelIdMed(String Id){
Database DB=new Database();//Database中封裝了數據庫連接,打開、執行的方法
String sql="select * from medInfo where medId="+Integer.parseInt(Id);
ArrayList<Medicine> list=null; //Medicine是一個有幾種屬性的實體類
Medicine med=null;
try{
DB.OpenCon();
rs=DB.executeQuery(sql);
list=new ArrayList<Medicine>();
while(rs.next()){
med=new Medicine();
med.setMedicineId(rs.getString("medId"));
med.setMedicineName(rs.getString("medName"));
med.setUnit(rs.getString("unit"));
med.setQuantity(rs.getDouble("quantity"));
med.setSideEffect(rs.getString("sideEffect"));
list.add(med);
}
}catch(Exception e){
e.getStackTrace();
}finally{
try{
DB.closeStmt();
DB.closeCon();
}catch(Exception e){
System.out.println(e.getMessage());
}
}
return list;
}
為查詢button添加事件,讀取數據
public void actionPerformed(ActionEvent e) {
TableModel tm=getJTable1().getModel();
DefaultTableModel dtm=(DefaultTableModel)tm;
Object obj=e.getSource();
if(obj==jButton)
{
pId = (String)jComboBox1.getSelectedItem();//一個下拉列表框
MedBean md=new MedBean(); //MedBean類中定義了上述的方法
ArrayList<Medicine>list=md.SelIdMed(pId);
}
int rowcount=dtm.getRowCount();
for(int i=rowcount-1;i>=0;i--){
dtm.removeRow(i);
}
for(Medicine med:list){
Object[] object={med.getMedicineId(),med.getMedicineName(),med.getQuantity(),med.getSideEffect(),med.getUnit()};
dtm.addRow(object);
}
}
else
{
this.dispose();
}
}
第二種讀取數據的方法:
public void actionPerformed(ActionEvent e) {
TableModel tm=getJTable1().getModel();
DefaultTableModel dtm=(DefaultTableModel)tm;
Object obj=e.getSource();
if(obj==jButton)
{
pId = (String)jComboBox1.getSelectedItem();
MedBean md=new MedBean();
Iterator iterator=md.SelIdMed(pId).iterator();
while(iterator.hasNext()){
Medicine med=(Medicine) iterator.next();
Object[] object={med.getMedicineId(),med.getMedicineName(),med.getQuantity(),med.getSideEffect(),med.getUnit()};
dtm.addRow(object);
}
int rowcount=dtm.getRowCount();
for(int i=rowcount-1;i>=0;i--){
dtm.removeRow(i);
}
}
}
else
{
this.dispose();
}
}
對于表的屬性要做修改
Object[][] tabledata={};
private String[] colName={"編號","醫生姓名","醫生電話","開始時間","終止時間","用過次數","可用次數"};
if (jTable == null) {
DefaultTableModel model=new DefaultTableModel(tabledata,column){
public boolean isCellEditable(int row, int column)
{
return false;
};
};
jTable = new JTable(model);
jTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);