⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 updatedbframe.java

📁 《Java实例入门》所有实例的源代码。所有的源文件都是.java文件
💻 JAVA
字号:
import java.net.URL;import java.sql.*;import java.util.Vector;import java.awt.*;import java.awt.event.*;public class UpdateDBFrame extends Frame  implements ActionListener{  Vector fields;  Button first,previous,next,last,insert,update,delete,commite,cancel,quit;  Panel dataView,commandPanel,pUp,pDown;  Connection con;  Statement stm;  ResultSet rs;  boolean isInsert;  public UpdateDBFrame() {     setTitle("数据库更新");     setSize(400,400);     setBackground(Color.lightGray);     addWindowListener(new WindowAdapter(){                   public void windowClosing(WindowEvent e){                           System.exit(0);                    }                                            }                        );     dataView=new Panel();     commandPanel=new Panel();     add("Center",dataView);     dataView.setLayout(new GridBagLayout());     setButton();     add("South",commandPanel);     fields=new Vector();     openTable();     loadField();     loadData();     isInsert=true;     pack();  }  private void setButton(){     commandPanel.setLayout(new GridLayout(2,1));     pUp=new Panel();     first=new Button("First");     first.addActionListener(this);     previous=new Button("Previous");     previous.addActionListener(this);     next=new Button("Next");     next.addActionListener(this);     last=new Button("Last");     last.addActionListener(this);     first.setEnabled(false);     previous.setEnabled(false);     pUp.add(first);     pUp.add(previous);     pUp.add(next);     pUp.add(last);     insert=new Button("Insert");     insert.addActionListener(this);     update=new Button("Update");     update.addActionListener(this);     delete=new Button("Delete");     delete.addActionListener(this);     commite=new Button("Commite");     commite.addActionListener(this);     cancel=new Button("Cancel");     cancel.addActionListener(this);     quit=new Button("Quit");     commite.setEnabled(false);     cancel.setEnabled(false);     pDown=new Panel();     pDown.add(insert);     pDown.add(update);     pDown.add(delete);     pDown.add(commite);     pDown.add(cancel);     pDown.add(quit);     commandPanel.add(pUp);     commandPanel.add(pDown);     quit.addActionListener(new ActionListener(){                        public  void actionPerformed(ActionEvent evt){                                   System.exit(0);                          }                                                }                           );  }  public void openTable(){     try{          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");          con=DriverManager.getConnection("jdbc:odbc:JDBCTEST;pwd=java");          stm=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);          rs=stm.executeQuery("select * from publishers");          rs.first();     }catch(Exception e){          return;     }  }   public void loadField(){     GridBagConstraints gbc=new GridBagConstraints();     gbc.weighty=100;     try{         ResultSetMetaData rsmd=rs.getMetaData();        for(int i=1;i<=rsmd.getColumnCount() ;i++){             String fieldName=rsmd.getColumnName(i);            int  fieldSize=rsmd.getColumnDisplaySize(i) ;             TextField txtField=new TextField();             txtField.setEditable(false) ;             fields.add(txtField);             gbc.weightx=0;             gbc.anchor=GridBagConstraints.EAST;             gbc.fill=GridBagConstraints.NONE;             gbc.gridx=0;             gbc.gridy=i-1;             gbc.gridwidth=1;             gbc.gridheight=1;             dataView.add(new Label(fieldName),gbc);             gbc.weightx=100;             gbc.anchor=GridBagConstraints.WEST;             gbc.fill=GridBagConstraints.HORIZONTAL;             gbc.gridx=1;             dataView.add(txtField,gbc);         }     }catch(Exception e){          return;     }   }     public void loadData(){     try{          ResultSetMetaData rsmd=rs.getMetaData();         for(int i=1;i<=fields.size() ;i++){             String value="";             String name=rsmd.getColumnName(i).trim();             value=rs.getString(name);             TextField txtField=(TextField)fields.get(i-1);             txtField.setText(value);          }     }catch(Exception e){          System.out.println(e);     }  }   public void actionPerformed(ActionEvent e){       Object obj = e.getSource();      if(obj==first) showfirst();      if(obj==previous) showprevious();      if(obj==next) shownext();      if(obj==last) showlast();      if(obj==insert) insertData();      if(obj==update) updateData();      if(obj==delete) delData();      if(obj==commite) commiteData();      if(obj==cancel) cancelCommand();   }   private void showfirst(){       try{            rs.first();            loadData();            enableButtons();       }catch(Exception e){       }   }   private void showprevious(){       try{            rs.previous();            loadData();            enableButtons();       }catch(Exception e){       }   }   private void shownext(){       try{            rs.next();            loadData();            enableButtons();       }catch(Exception e){       }   }   private void showlast(){       try{            rs.last();            loadData();            enableButtons();       }catch(Exception e){       }   }   private void  insertData(){        isInsert=true;        pUp.setVisible(false);        update.setEnabled(false);        delete.setEnabled(false);        commite.setEnabled(true);        cancel.setEnabled(true);       for(int i=1;i<=fields.size() ;i++){             TextField txtField=(TextField)fields.get(i-1);             txtField.setText("");             txtField.setEditable(true);        }        insert.setEnabled(false);        try{          //  rs.moveToInsertRow();       }catch(Exception e){             System.out.println(e);       }   }   private void  updateData(){        isInsert=false;        pUp.setVisible(false);        insert.setEnabled(false);        update.setEnabled(false);        delete.setEnabled(false);        commite.setEnabled(true);        cancel.setEnabled(true);       for(int i=1;i<=fields.size() ;i++){             TextField txtField=(TextField)fields.get(i-1);             txtField.setEditable(true);        }        try{          //  rs.moveToInsertRow();       }catch(Exception e){             System.out.println(e);       }   }   private void  commiteData(){    try{        ResultSetMetaData rsmd=rs.getMetaData();       for(int i=1;i<=fields.size() ;i++){             TextField txtField=(TextField)fields.get(i-1);             String value=txtField.getText().trim();             String name=rsmd.getColumnName(i).trim().toUpperCase();             rs.updateString(name,value );             txtField.setEditable(false);        }         String value;      if (isInsert)            rs.insertRow() ;      else            rs.updateRow();      rs.moveToCurrentRow();      pUp.setVisible(true);      insert.setEnabled(true);      update.setEnabled(true);      delete.setEnabled(true);      commite.setEnabled(false);      cancel.setEnabled(false);      rs.refreshRow();      loadData();      enableButtons();    }catch(SQLException e){       System.out.println(e);    }   }   private void  cancelCommand(){      try{           for(int i=1;i<=fields.size() ;i++){               TextField txtField=(TextField)fields.get(i-1);               txtField.setEditable(false);            }           rs.moveToCurrentRow();           rs.refreshRow();           pUp.setVisible(true);           insert.setEnabled(true);           update.setEnabled(true);           delete.setEnabled(true);           commite.setEnabled(false);           cancel.setEnabled(false);           loadData();           enableButtons();       }catch(Exception e){             System.out.println(e);       }   }   private void  delData(){      try{           int CursorPos=rs.getRow();            rs.deleteRow();            rs.absolute(CursorPos-1);            loadData();            enableButtons();       }catch(Exception e){       }   }   private void enableButtons(){       try{            first.setEnabled(!rs.isFirst());            previous.setEnabled(!rs.isFirst());            next.setEnabled(!rs.isLast());            last.setEnabled(!rs.isLast());       }catch(Exception e){       }   }   static public void  main(String[] args){      UpdateDBFrame db=new  UpdateDBFrame();      db.show();   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -