302班

          java突擊隊
          posts - 151, comments - 74, trackbacks - 0, articles - 14
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          JTable調用數據庫

          Posted on 2007-06-12 00:57 停留的風 閱讀(1598) 評論(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);

          主站蜘蛛池模板: 克拉玛依市| 六盘水市| 华蓥市| 竹山县| 建昌县| 洛阳市| 青海省| 沅江市| 贵溪市| 临湘市| 南乐县| 临澧县| 林西县| 嘉义市| 广宗县| 改则县| 蒙阴县| 昌江| 绥德县| 洞头县| 马公市| 饶河县| 温泉县| 鄂伦春自治旗| 疏附县| 涞水县| 许昌市| 张家界市| 清河县| 连南| 溧阳市| 赫章县| 尼勒克县| 专栏| 沙田区| 青海省| 北碚区| 芜湖县| 固阳县| 剑河县| 原阳县|