728x90
    
    
  
package pack.db;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class DbTest6RecMove extends JFrame implements ActionListener{
       private JButton btnF, btnP, btnN, btnL;
       private JTextField txtNo, txtName;
       private Connection conn;
       private Statement stmt;
       private ResultSet rs;
       public DbTest6RecMove() {
              setTitle("레코드 이동");
              layInit();
              accDb();
              setBounds(200,200,300,250);
              setVisible(true);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       }
       private void layInit() { // 레이아웃
              txtNo = new JTextField(" ",5);
              txtName = new JTextField("",10);
              txtNo.setEditable(false); // 읽기만 가능하게
              txtName.setEditable(false); // 읽기만 가능하게
              JPanel panel1 = new JPanel();
              panel1.add(new JLabel("고객번호"));
              panel1.add(txtNo);
              panel1.add(new JLabel("이름"));
              panel1.add(txtName);
              add("North", panel1);
              btnF = new JButton("|<<");
              btnP = new JButton("<");
              btnN = new JButton(">");
              btnL = new JButton(">>|");
              JPanel panel2 = new JPanel();
              panel2.add(btnF);
              panel2.add(btnP);
              panel2.add(btnN);
              panel2.add(btnL);
              add("Center", panel2);
              btnF.addActionListener(this);
              btnP.addActionListener(this);
              btnN.addActionListener(this);
              btnL.addActionListener(this);
       }
       private void accDb() {
              try {
                     Class.forName("oracle.jdbc.driver.OracleDriver");
                     conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
                     stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                                                     ResultSet.CONCUR_READ_ONLY); // 레코드 방향이 역방향도 가능해짐
                     String sql = "select gogek_no, gogek_name from gogek order by gogek_no asc";
                     rs = stmt.executeQuery(sql);
                     rs.next();
                     displayData();
                     } catch (Exception e) {
                     System.out.println("accDb err:" + e);
                     }
       }
       private void displayData() {
              try {
                     txtNo.setText(rs.getString("gogek_no"));
                     txtName.setText(rs.getString("gogek_name"));
              } catch (Exception e) {
                     // System.out.println("displayDate err  : " + e);
                     JOptionPane.showMessageDialog(this, "자료의 처음 또는 끝에 도달하였습니다");
              }
       }
       @Override
       public void actionPerformed(ActionEvent arg0) {
              try {
                     if(arg0.getSource() == btnF) rs.first();
                     else if(arg0.getSource() == btnP) rs.previous();
                     else if(arg0.getSource() == btnN) rs.next();
                     else if(arg0.getSource() == btnL) rs.last();
                     displayData();
              } catch (Exception e) {
                     // TODO: handle exception
              }
       }
       public static void main(String[] args) {
              new DbTest6RecMove();
       }
}
본 포스팅은 IT 교육기관인 KIC 캠퍼스의 지원을 받은 리포트입니다.
혹시 잘못되거나 문제 소지시 댓글 남겨주시면 조치하겠습니다.
728x90
    
    
  'DEV' 카테고리의 다른 글
| JAVA InetAddress 클래스를 활용한 IP 읽기 예제 (0) | 2018.01.26 | 
|---|---|
| JAVA 람다 표현식(Lambda Expression) 개요 (0) | 2018.01.26 | 
| JAVA 연산자, 조건문, 반복문 예제 (0) | 2018.01.24 | 
| JAVA 기본 프레임 구조 예제 (0) | 2018.01.19 | 
| JAVA 배열(Array) 정리 #1 (0) | 2018.01.13 | 
| JAVA 조건문과 반복문 (0) | 2018.01.10 | 
 
				 레코드 이동.zip
레코드 이동.zip