302班

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

          JTable調(diào)用數(shù)據(jù)庫

          Posted on 2007-06-12 00:57 停留的風 閱讀(1603) 評論(0)  編輯  收藏 所屬分類: 快速前進的Java


          數(shù)據(jù)庫的操作:
           public ArrayList SelIdMed(String Id){
                Database DB=new Database();//Database中封裝了數(shù)據(jù)庫連接,打開、執(zhí)行的方法
             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添加事件,讀取數(shù)據(jù)
          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();   
            }  
           }
          第二種讀取數(shù)據(jù)的方法:
            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={"編號","醫(yī)生姓名","醫(yī)生電話","開始時間","終止時間","用過次數(shù)","可用次數(shù)"};
               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);

          主站蜘蛛池模板: 金秀| 常宁市| 蛟河市| 哈尔滨市| 宁强县| 济阳县| 高要市| 乳山市| 富锦市| 沅江市| 济阳县| 扬州市| 建阳市| 普宁市| 山丹县| 航空| 卢氏县| 贵港市| 乌什县| 襄垣县| 漳平市| 新安县| 时尚| 电白县| 乌拉特中旗| 盈江县| 印江| 朝阳区| 南郑县| 陕西省| 文安县| 桂东县| 大石桥市| 衢州市| 南开区| 都匀市| 五原县| 靖安县| 镇原县| 民丰县| 浠水县|