JAVA JFrame + MySql 추가 실습예제

실습과제 모음 2012. 7. 28. 17:23 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

import java.awt.BorderLayout;

import java.awt.FlowLayout;

import java.awt.GridLayout;

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.SQLException;

import java.sql.Statement;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.JTextField;

 

class TempFrame extends JFrame implements ActionListener {

 

    JLabel label1;

    JLabel label2;

    JLabel label3;

    JLabel label4;

    JTextField textField1;

    JTextField textField2;

    JTextField textField3;

    JTextField textField4;

    JButton button;

    TempFrame()

    {

       setLayout(new GridLayout(3, 0));

       JPanel panel1 = new JPanel();

       panel1.setLayout(new GridLayout(0, 4));

       JPanel panel2 = new JPanel();

       panel2.setLayout(new GridLayout(0, 4));      

       textField1 = new JTextField ();

       textField2 = new JTextField ();

       textField3 = new JTextField ();

       textField4 = new JTextField ();

       String[] header = {"Book Name","Publisher","Year","Price" };

       label1 = new JLabel(header[0]);

       label2 = new JLabel(header[1]);

       label3 = new JLabel(header[2]);

       label4 = new JLabel(header[3]);

       panel1.add(label1);

       panel1.add(label2);

       panel1.add(label3);

       panel1.add(label4);

       panel2.add(textField1);

       panel2.add(textField2);

       panel2.add(textField3);

       panel2.add(textField4);

 

       button = new JButton("제출");

       button.addActionListener(this);

       add(panel1);

       add(panel2);

       add(button);

       // Add scrollpane with table to the frame and show the frame to user

       setSize(300,300);

       setVisible(true);

    }

    @Override

    public void actionPerformed(ActionEvent arg0) {

       // TODO Auto-generated method stub

       String s1 = textField1.getText();

       String s2 = textField2.getText();

       String s3 = textField3.getText();

       int s4 = Integer.parseInt(textField4.getText());

       Test.addBook(s1, s2, s3, s4);

       setVisible(false);

    }  

}

 

class MyFrame extends JFrame implements ActionListener {

    JButton addbutton;

    JButton searchbutton;

 

    MyFrame() {

 

       addbutton = new JButton("추가");

       searchbutton = new JButton("조회");

       JPanel panel = new JPanel();

       panel.add(addbutton);

       panel.add(searchbutton);

       addbutton.addActionListener(this);

       searchbutton.addActionListener(this);

       add(panel,BorderLayout.SOUTH);

       setSize(600, 400);

       setVisible(true);

    }

 

    @Override

    public void actionPerformed(ActionEvent e) {

       // TODO Auto-generated method stub

       if(e.getSource() == addbutton)

       {

           TempFrame tf = new TempFrame();

       }

       else if( e.getSource() == searchbutton)

       {

           Test.selectAll();

       }

    }

}

 

public class Test {

    static Connection con = null;

    static MyFrame frame;

    static JTable table;

 

    static void makeConnection() {

       try {

           Class.forName("com.mysql.jdbc.Driver");

       } catch (ClassNotFoundException e) {

           System.out.println("드라이버를 찾을 없습니다");

       }

       String url = "jdbc:mysql://localhost/book_db";

       String user = "root";

       String password = "green";

       try {

           con = DriverManager.getConnection(url, user, password);

       } catch (SQLException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

       }

    }

 

    public static void selectAll() {

       Statement stmt;

       String[] header = { "Book ID", "Book Name" };

       String[][] context = null;

       int i = 0;

       try {

           stmt = con.createStatement();

           ResultSet rs = stmt.executeQuery("SELECT * FROM books");

           rs.last();

           int nRecord = rs.getRow();

           context = new String[nRecord + 1][2];

           rs.beforeFirst();

           while (rs.next()) {

              int id = rs.getInt("book_id");

              String title = rs.getString("title");

              context[i][0] = id + "";

              context[i][1] = title;

              System.out.println(id + " " + title);

              i++;

           }

       } catch (SQLException e) {

           e.printStackTrace();

       }

       table = new JTable(context, header);

       JScrollPane scrollPane = new JScrollPane(table); // Make scrollpane with

       // Add scrollpane with table to the frame and show the frame to user

       frame.getContentPane().add(scrollPane, BorderLayout.CENTER);

       frame.setSize(600, 400);

       frame.setVisible(true);

    }

 

    public static void addBook(String title, String publisher, String year,

           int price) {

       try {

           Statement stmt = con.createStatement();

           String s = "INSERT INTO books (title, publisher, year, price) VALUES ";

           s += "('" + title + "','" + publisher + "','" + year + "','"

                  + price + "')";

           System.out.println(s);

           int i = stmt.executeUpdate(s);

           if (i == 1)

              System.out.println("레코드 추가 성공");

           else

              System.out.println("레코드 추가 실패");

       } catch (SQLException e) {

           System.out.println(e.getMessage());

           System.exit(0);

       }

    }

 

    public static void main(String[] args) {

       frame = new MyFrame();

       frame.setVisible(true);

       makeConnection();

       selectAll();

       // addBook("C++ Programming", "Freelec", "2011", 50000);

       selectAll();

    }

 

}

 

'실습과제 모음' 카테고리의 다른 글

C언어 실습문제 0811  (0) 2012.08.11
JAVA Mysql + JTable + File  (0) 2012.07.29
JAVA SQL + JFrame  (0) 2012.07.28
JAVA Mysql 연결 실습  (0) 2012.07.28
CPP 주말 과제 Time 클래스  (0) 2012.07.27

JAVA SQL + JFrame

실습과제 모음 2012. 7. 28. 16:28 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

import java.awt.BorderLayout;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

 

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;

 

public class Test {

    static Connection con = null;

    static JFrame frame;

    static JTable table;

 

    static void makeConnection() {

       try {

           Class.forName("com.mysql.jdbc.Driver");

       } catch (ClassNotFoundException e) {

           System.out.println("드라이버를 찾을 없습니다");

       }

       String url = "jdbc:mysql://localhost/book_db";

       String user = "root";

       String password = "green";

       try {

           con = DriverManager.getConnection(url, user, password);

       } catch (SQLException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

       }

    }

 

    private static void selectAll() {

       Statement stmt;

       String[] header = { "Book ID", "Book Name" };

       String[][] context = null;

       int i = 0;

       try {

           stmt = con.createStatement();

           ResultSet rs = stmt.executeQuery("SELECT * FROM books");

           rs.last();

           int nRecord = rs.getRow();

           context = new String[nRecord+1][2];

           rs.beforeFirst();

           while (rs.next()) {

              int id = rs.getInt("book_id");

              String title = rs.getString("title");

              context[i][0] = id + "";

              context[i][1] = title;

              System.out.println(id + " " + title);

              i++;

           }

       } catch (SQLException e) {

           e.printStackTrace();

       }

       table = new JTable(context, header);

       JScrollPane scrollPane = new JScrollPane(table); // Make scrollpane with

       // Add scrollpane with table to the frame and show the frame to user

       frame.getContentPane().add(scrollPane, BorderLayout.CENTER);

       frame.setSize(600, 400);

       frame.setVisible(true);

    }

 

    private static void addBook(String title, String publisher, String year,

           int price) {

       try {

           Statement stmt = con.createStatement();

           String s = "INSERT INTO books (title, publisher, year, price) VALUES ";

           s += "('" + title + "','" + publisher + "','" + year + "','"

                  + price + "')";

           System.out.println(s);

           int i = stmt.executeUpdate(s);

           if (i == 1)

              System.out.println("레코드 추가 성공");

           else

              System.out.println("레코드 추가 실패");

       } catch (SQLException e) {

           System.out.println(e.getMessage());

           System.exit(0);

       }

    }

 

    public static void main(String[] args) {

       frame = new JFrame();

       makeConnection();

       selectAll();

       //addBook("C++ Programming", "Freelec", "2011", 50000);

       selectAll();

    }

}

 

'실습과제 모음' 카테고리의 다른 글

JAVA Mysql + JTable + File  (0) 2012.07.29
JAVA JFrame + MySql 추가 실습예제  (0) 2012.07.28
JAVA Mysql 연결 실습  (0) 2012.07.28
CPP 주말 과제 Time 클래스  (0) 2012.07.27
CPP ImaginaryNumber  (0) 2012.07.27

JAVA Mysql 연결 실습

실습과제 모음 2012. 7. 28. 15:51 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

 

public class Test {

    static Connection con = null;

 

    static void makeConnection() {

       try {

           Class.forName("com.mysql.jdbc.Driver");

       } catch (ClassNotFoundException e) {

           System.out.println("드라이버를 찾을 없습니다");

       }

       String url = "jdbc:mysql://localhost/book_db";

       String user = "root";

       String password = "green";

       try {

           con = DriverManager.getConnection(url, user, password);

       } catch (SQLException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

       }

    }

 

    private static void selectAll() {

       Statement stmt;

       try {

           stmt = con.createStatement();

           ResultSet rs = stmt.executeQuery("SELECT * FROM books");

           while (rs.next()) {

              int id = rs.getInt("book_id");

              String title = rs.getString("title");

              System.out.println(id + " " + title);

           }

       } catch (SQLException e) {

           e.printStackTrace();

       }

    }

 

    private static void addBook(String title, String publisher, String year,

           int price) {

       try {

           Statement stmt = con.createStatement();

           String s = "INSERT INTO books (title, publisher, year, price) VALUES ";

           s += "('" + title + "','" + publisher + "','" + year + "','"

                  + price + "')";

           System.out.println(s);

           int i = stmt.executeUpdate(s);

           if (i == 1)

              System.out.println("레코드 추가 성공");

           else

              System.out.println("레코드 추가 실패");

       } catch (SQLException e) {

           System.out.println(e.getMessage());

           System.exit(0);

       }

    }

 

    public static void main(String[] args) {

       makeConnection();

       selectAll();

       addBook("C++ Programming", "Freelec", "2011", 50000);

       selectAll();

    }

}

'실습과제 모음' 카테고리의 다른 글

JAVA JFrame + MySql 추가 실습예제  (0) 2012.07.28
JAVA SQL + JFrame  (0) 2012.07.28
CPP 주말 과제 Time 클래스  (0) 2012.07.27
CPP ImaginaryNumber  (0) 2012.07.27
CPP 표준체중 계산 프로그램  (0) 2012.07.26

CPP 주말 과제 Time 클래스

실습과제 모음 2012. 7. 27. 15:19 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <iostream>

#include <string>

using namespace std;

class Time

{

public :

   Time();

   Time(const int hour, const int min, const int sec);

   void SetHour(const int hour);

   void SetMin(const int min);

   void SetSec(const int sec);

   int GetHour();

   int GetMin();

   int GetSec();

   int CalSec();

   void ShowTime();

 

private :

   int hour, min, sec;

   int t_sec;

};

 

Time::Time()

{

   hour = 0;

   min = 0;

   sec = 0;

}

Time::Time(const int hour, const int min, const int sec)

{

   this->hour = hour;

   this->min = min;

   this->sec = sec;

}

void Time::SetHour(const int hour)

{

   this->hour = hour;

}

void Time::SetMin(const int min)

{

   this->min = min;

}

void Time::SetSec(const int sec)

{

   this->sec = sec;

}

int Time::GetHour()

{

   return hour;

}

int Time::GetMin()

{

   return min;

}

int Time::GetSec()

{

   return sec;

}

int Time::CalSec()

{

   // , ,

   // 단위로 변환

   int totalSec = 0;

   totalSec += 3600 * hour;

   totalSec += 60 * min;

   totalSec += sec;

   return totalSec;

}

void Time::ShowTime()

{

   cout << hour << " " << min << " " << sec << " 입니다." << endl;

}

 

int main()

{

   Time t1;

   Time t2(1,20,40);

   t1.SetHour(2);

   t1.SetMin(20);

   t1.SetSec(30);

 

  

// Time t3 = t1 + t2;

// Time t4 = t1 - t2;

// bool b1 = t1 > t2;

 

   cout << "t1 :" << t1.CalSec() << endl;

   cout << "t2 :" << t2.CalSec() << endl;

   t1.ShowTime();

   t2.ShowTime();

   return 0;

}

 

 

'실습과제 모음' 카테고리의 다른 글

JAVA SQL + JFrame  (0) 2012.07.28
JAVA Mysql 연결 실습  (0) 2012.07.28
CPP ImaginaryNumber  (0) 2012.07.27
CPP 표준체중 계산 프로그램  (0) 2012.07.26
CPP 함수 실습과제  (0) 2012.07.25

CPP ImaginaryNumber

실습과제 모음 2012. 7. 27. 14:20 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <iostream>

#include <string>

using namespace std;

 

class ImaginaryNumber

{

public:

   ImaginaryNumber();

   ImaginaryNumber(const double a, const double b);

   void SetA(const double a);

   void SetB(const double b);

   double GetA();

   double GetB();

   void GetImaginaryNumber();

 

private:

   double a; //실수부

   double b; //허수부 (b≠0)

};

 

ImaginaryNumber::ImaginaryNumber()

{

   a = 0;

   b = 1;

}

ImaginaryNumber::ImaginaryNumber(const double a, const double b)

{

   this->a = a;

   this->b = b;

}

void ImaginaryNumber::SetA(const double a)

{

   this->a = a;

}

void ImaginaryNumber::SetB(const double b)

{

   this->b = b;

}

double ImaginaryNumber::GetA()

{

   return a;

}

double ImaginaryNumber::GetB()

{

   return b;

}

void ImaginaryNumber::GetImaginaryNumber()

{

   cout << a << " + " << b <<"i " << endl;

}

 

int main()

{

   ImaginaryNumber ima1(4.2,5.1);

   ImaginaryNumber ima2;

   ima2.SetA(7.2);

   ima2.SetB(9.6);

 

   ima1.GetImaginaryNumber();

   ima2.GetImaginaryNumber();

   return 0;

}

 

 

'실습과제 모음' 카테고리의 다른 글

JAVA Mysql 연결 실습  (0) 2012.07.28
CPP 주말 과제 Time 클래스  (0) 2012.07.27
CPP 표준체중 계산 프로그램  (0) 2012.07.26
CPP 함수 실습과제  (0) 2012.07.25
CPP 함수 cvr, cba, cbv  (0) 2012.07.24

CPP 표준체중 계산 프로그램

실습과제 모음 2012. 7. 26. 13:48 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <iostream>

using namespace std;

class standardWeight

{

private:

   double  height, weight;

   int  WeightStatus;

public:

   void  setHeight(const double h);

   void  setWeight(const double w);

   double  getHeight();

   double  getWeight();

   int  StdWeight();

   int  getWeightStatus();

};

void  standardWeight::setHeight(const double h)

{

   height = h;

}

void  standardWeight::setWeight(const double w)

{

   weight = w;

}

double  standardWeight::getHeight()

{

   return height;

}

double  standardWeight::getWeight()

{

   return weight;

}

int  standardWeight::StdWeight()

{

   if(   (height - 100) * 0.9 < weight )

   {

       // 과체중

       WeightStatus = 1;

       return 1;

   }

   else if( (height - 100) * 0.9 > weight )

   {

       // 저체중

       WeightStatus = -1;

       return -1;

   }

   else

   {

       WeightStatus = 0;

       return 0;

   } 

}

int  standardWeight::getWeightStatus()

{

   return WeightStatus;

}

 

int main()

{

   standardWeight sw1;

   sw1.setHeight(170);

   sw1.setWeight(60);

   sw1.StdWeight();

   cout << sw1.getWeightStatus() << endl;

   return 0;

}

 

 

'실습과제 모음' 카테고리의 다른 글

CPP 주말 과제 Time 클래스  (0) 2012.07.27
CPP ImaginaryNumber  (0) 2012.07.27
CPP 함수 실습과제  (0) 2012.07.25
CPP 함수 cvr, cba, cbv  (0) 2012.07.24
CPP 실습과제 0724 배열, 함수  (0) 2012.07.24

CPP 함수 실습과제

실습과제 모음 2012. 7. 25. 12:39 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

1. 임의의 세 수를 키보드로 입력받아 분산을 구해 모니터로 출력하는 프로그램 작성

2. 아래 표를 배열 a로 하여 가로 합계, 세로 합계 및 총합계를 구하는 프로그램

-하나의 배열과 두 개의 변수만 선언

-for문 사용

-각 합계 출력

356

214

871

354

3. 이차방정식(y = ax2 + bx + c)의 세 계수(a, b, c)를 입력하면 해를 구해주는 프로그램

-예: 입력 시 : 1 0 -1 출력 시 : 1.000000 -1.000000

입력 시 : 1 2 1 출력 시 : -1.000000 -1.000000

4. 비행기 좌석 예약 프로그램

-요소 수가 10개인 구조체 배열 사용

-좌석 번호, 좌석 예약 표시, 예약자 성씨(last name), 예약자 이름(first name) 저장

-다음 메뉴 제공

원하는 작업에 해당하는 글자를 선택하시오.

a)비어 있는 좌석 수 표시

b)비어 있는 좌석 목록 표시

c)좌석 예약

d)예약 취소

'실습과제 모음' 카테고리의 다른 글

CPP ImaginaryNumber  (0) 2012.07.27
CPP 표준체중 계산 프로그램  (0) 2012.07.26
CPP 함수 cvr, cba, cbv  (0) 2012.07.24
CPP 실습과제 0724 배열, 함수  (0) 2012.07.24
CPP 주민등록번호 분석기  (0) 2012.07.23

CPP 함수 cvr, cba, cbv

실습과제 모음 2012. 7. 24. 15:12 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <iostream>

using namespace std;

 

void cbr(int& a);

void cba(int* a);

void cbv(int a);

int main()

{

   int i = 3;

   cbr(i);      cout << i << endl;

   cba(&i);  cout << i << endl;

   cbv(i);      cout << i << endl;

}

void cbr(int& a) // call by refrence

{  a++; }

void cba(int* a) // call by address

{  (*a)++; }

void cbv(int a)     // call by value

{  a++; }

 

'실습과제 모음' 카테고리의 다른 글

CPP 표준체중 계산 프로그램  (0) 2012.07.26
CPP 함수 실습과제  (0) 2012.07.25
CPP 실습과제 0724 배열, 함수  (0) 2012.07.24
CPP 주민등록번호 분석기  (0) 2012.07.23
CPP Chapter 03 실습  (0) 2012.07.23

CPP 실습과제 0724 배열, 함수

실습과제 모음 2012. 7. 24. 13:59 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <iostream>

using namespace std;

 

int TotalCalculation( int arr[] , int num );

 

int main()

{

 

   int  s1[6]={100, 90, 76, 89, 100, 88}, sum=0;

   int  s2[4]={100, 90, 76, 89};

   sum=TotalCalculation( s1, 6);  //반환값을 sum 변수에 할당!!!

   cout  << "총점 : " << sum << endl;

   sum=TotalCalculation( s2, 4);  //반환값을 sum 변수에 할당!!!

   cout  << "총점 : " << sum << endl;

}

int TotalCalculation( int arr[] , int num )

{      // arr 총점을 구할 점수 배열

       // num 총점을 구할 점수의 갯수

   // TODO: 이부분을 채워서 실행되도록 하시오.

}

 


'실습과제 모음' 카테고리의 다른 글

CPP 함수 실습과제  (0) 2012.07.25
CPP 함수 cvr, cba, cbv  (0) 2012.07.24
CPP 주민등록번호 분석기  (0) 2012.07.23
CPP Chapter 03 실습  (0) 2012.07.23
CPP 0722 실습과제  (0) 2012.07.22

CPP 주민등록번호 분석기

실습과제 모음 2012. 7. 23. 15:24 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <iostream>

using namespace std;

int main()

{   

     char juminnumber[15];

     cout <<"주민등록번호입력(-없이입력하세요) : ";

     cin>>juminnumber;

     if(juminnumber[6]=='1' || juminnumber[6]=='2')

     {

           cout <<"당신의생년월일은"<<juminnumber[0]<<juminnumber[1]<<""<<juminnumber[2]<<juminnumber[3]<<""<<juminnumber[4]<<juminnumber[5]<<"일입니다"<<endl;

     }

     else

     {

           cout <<"당신의생년월일은"<<juminnumber[0]<<juminnumber[1]<<""<<juminnumber[2]<<juminnumber[3]<<""<<juminnumber[4]<<juminnumber[5]<<"일입니다"<<endl;

     }

     int temp = 0;

     temp = (juminnumber[7] - '0')*10;

     temp += juminnumber[8] - '0';

     if(temp<10)

     {

           cout<<"서울사람입니당"<<endl;

     }

     else if(9<temp && temp<14)

     {

           cout<<"부산사람입니당"<<endl;

     }

     else if(13<temp && temp<17)

     {

           cout<<"인천사람입니당"<<endl;

     }

     else if(22<temp && temp<26)

     {

           cout<<"강원도사람입니당"<<endl;

     }

     else if(24<temp && temp<48)

     {

           cout<<"충청도사람입니당"<<endl;

     }

     else if(48<temp && temp<67)

     {

           cout<<"전라도사람입니당"<<endl;

     }

     else if(66<temp && temp<99)                              

     {                                        

           cout<<"경상도사람입니당"<<endl;          

     }                                                        

     return 0; 

}                                                                   

 

 

 

'실습과제 모음' 카테고리의 다른 글

CPP 함수 cvr, cba, cbv  (0) 2012.07.24
CPP 실습과제 0724 배열, 함수  (0) 2012.07.24
CPP Chapter 03 실습  (0) 2012.07.23
CPP 0722 실습과제  (0) 2012.07.22
방학특강 C 언어 주말과제 0720~0723  (0) 2012.07.20