Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 나의 프로젝트
- 책이야기
- scala
- php thumbnail
- 명사 뽑아내기
- flex3
- 디즈니씨
- 베트남어
- C/C++
- Lift
- Eclipse
- 스킨 스쿠버
- iBatis
- 메일왕창보내는법
- ror실행
- docker
- ejb
- 나의 취미
- express for node.js
- 명사 추출기
- Node.js
- nodejs express
- 명사 분석기
- node.js web framework
- 도커
- Cross
- rss
- ajax
- 주식이야기
- php
Archives
- Today
- Total
nkdk의 세상
자바 Language 21일째 2번 본문
package db;
import java.awt.*;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.*;
import javax.swing.event.*;
public class dbScroll extends JPanel implements ActionListener {
Connection conn;
Statement stmt;
ResultSet rs;
JTextField txtBun, txtIrum, txtJik;
JButton btnf, btnp, btnn, btnl;
public dbScroll() {
init();
accDb();
}
public void init(){
txtBun=new JTextField("",3);
txtJik=new JTextField("",10);
txtIrum=new JTextField("",8);
JPanel pn1=new JPanel(); // 기본적으로 플로우 레이 아웃임.
pn1.add(txtBun);
pn1.add(txtIrum);
pn1.add(txtJik);
add("North", pn1);
btnf=new JButton("처음");
btnp=new JButton("이전");
btnn=new JButton("다음");
btnl=new JButton("마지막");
btnf.addActionListener(this);
btnn.addActionListener(this);
btnp.addActionListener(this);
btnl.addActionListener(this);
JPanel pn2=new JPanel();
pn2.add(btnf);
pn2.add(btnn);
pn2.add(btnp);
pn2.add(btnl);
add(pn2);
}
public void accDb() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch (Exception e) {
System.out.println("로딩실패: "+e);
return;
}
try {
conn=DriverManager.getConnection("jdbc:odbc:oradbs","SCOTT","TIGER");
}catch (Exception e) {
System.out.println("연결실패: "+e);
return;
}
try {
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select sawon_no, sawon_name, sawon_jik from sawon order by sawon_no";
rs=stmt.executeQuery(sql);
rs.next();
display();
}catch (Exception ex) {
JOptionPane.showMessageDialog(this, "sql오류 " +ex);
return;
}
}
public void display() {
try {
txtBun.setText(rs.getString("sawon_no"));
txtIrum.setText(rs.getString("sawon_name"));
txtJik.setText(rs.getString("sawon_jik"));
}catch (Exception e) {
JOptionPane.showMessageDialog(this, "레코드의 처음 또는 끝!!!" +e);
}
}
public static void main(String[] args) {
dbScroll ds=new dbScroll();
JFrame frame=new JFrame(); // 액자를 걸수 있는 큰 벽이고 jframe은 컨테이너를 이용한다.
//frame.getContentPane().add(ds); // 컨텐트 페인을 이용해서 벽에 건다 . center 라는 말이 생략된거랑 마찬가지다.
frame.add(ds); // 위에것과 비슷하다.
frame.setBounds(200,200,300,200);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent ae) {
try{
if (ae.getActionCommand().equals("처음")) rs.first();
else if (ae.getActionCommand().equals("이전")) rs.previous();
else if (ae.getActionCommand().equals("다음")) rs.next();
else if (ae.getActionCommand().equals("마지막")) rs.last();
display();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
import java.awt.*;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.*;
import javax.swing.event.*;
public class dbScroll extends JPanel implements ActionListener {
Connection conn;
Statement stmt;
ResultSet rs;
JTextField txtBun, txtIrum, txtJik;
JButton btnf, btnp, btnn, btnl;
public dbScroll() {
init();
accDb();
}
public void init(){
txtBun=new JTextField("",3);
txtJik=new JTextField("",10);
txtIrum=new JTextField("",8);
JPanel pn1=new JPanel(); // 기본적으로 플로우 레이 아웃임.
pn1.add(txtBun);
pn1.add(txtIrum);
pn1.add(txtJik);
add("North", pn1);
btnf=new JButton("처음");
btnp=new JButton("이전");
btnn=new JButton("다음");
btnl=new JButton("마지막");
btnf.addActionListener(this);
btnn.addActionListener(this);
btnp.addActionListener(this);
btnl.addActionListener(this);
JPanel pn2=new JPanel();
pn2.add(btnf);
pn2.add(btnn);
pn2.add(btnp);
pn2.add(btnl);
add(pn2);
}
public void accDb() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch (Exception e) {
System.out.println("로딩실패: "+e);
return;
}
try {
conn=DriverManager.getConnection("jdbc:odbc:oradbs","SCOTT","TIGER");
}catch (Exception e) {
System.out.println("연결실패: "+e);
return;
}
try {
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select sawon_no, sawon_name, sawon_jik from sawon order by sawon_no";
rs=stmt.executeQuery(sql);
rs.next();
display();
}catch (Exception ex) {
JOptionPane.showMessageDialog(this, "sql오류 " +ex);
return;
}
}
public void display() {
try {
txtBun.setText(rs.getString("sawon_no"));
txtIrum.setText(rs.getString("sawon_name"));
txtJik.setText(rs.getString("sawon_jik"));
}catch (Exception e) {
JOptionPane.showMessageDialog(this, "레코드의 처음 또는 끝!!!" +e);
}
}
public static void main(String[] args) {
dbScroll ds=new dbScroll();
JFrame frame=new JFrame(); // 액자를 걸수 있는 큰 벽이고 jframe은 컨테이너를 이용한다.
//frame.getContentPane().add(ds); // 컨텐트 페인을 이용해서 벽에 건다 . center 라는 말이 생략된거랑 마찬가지다.
frame.add(ds); // 위에것과 비슷하다.
frame.setBounds(200,200,300,200);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent ae) {
try{
if (ae.getActionCommand().equals("처음")) rs.first();
else if (ae.getActionCommand().equals("이전")) rs.previous();
else if (ae.getActionCommand().equals("다음")) rs.next();
else if (ae.getActionCommand().equals("마지막")) rs.last();
display();
} catch (SQLException e) {
e.printStackTrace();
}
}
}