Advertisement
Guest User

Untitled

a guest
May 11th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.98 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.sql.*;
  4. import java.util.Scanner;
  5.  
  6. public class Main {
  7.  
  8.     public static void main(String[] args) throws ClassNotFoundException, SQLException {
  9.     String driverString = "org.apache.derby.jdbc.EmbeddedDriver";
  10.     Class.forName(driverString);
  11.  
  12.     String connString = "jdbc:derby:dbName;create=true";
  13.     Connection conn = DriverManager.getConnection(connString);
  14.     Statement stmt = conn.createStatement();
  15.  
  16.     String createTableString = "" + "CREATE TABLE students ("+
  17.     " id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),"+
  18.     " name VARCHAR(24) NOT NULL,"+
  19.     " studyYear INTEGER DEFAULT 0,"+
  20.     "CONSTRAINT primary_key PRIMARY KEY (id)"+
  21.     ")";
  22.     try {
  23.         stmt.execute((createTableString));
  24.     }catch(SQLException e){
  25.         if(!"X0Y32".equals(e.getSQLState())){
  26.             throw e;
  27.         }
  28.     }
  29.  
  30.     String insertString = "INSERT INTO students(name, studyYear) VALUES (?,?)";
  31.     PreparedStatement preparedStmt = conn.prepareStatement(insertString);
  32.  
  33.     Scanner sc = new Scanner(System.in);
  34.     while(true) {
  35.         String name = sc.nextLine();
  36.         if (name.isEmpty()) break;
  37.         int studyYear = sc.nextInt();
  38.         sc.nextLine();
  39.  
  40.         preparedStmt.setString(1,name);
  41.         preparedStmt.setInt(2,studyYear);
  42.         int updateCount = preparedStmt.executeUpdate();
  43.         System.out.println("updateCunt = " + updateCount);
  44.     }
  45.  
  46.     Statement updatableStmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
  47.     String selectString = "SELECT id, name, studyYEAR FROM students";
  48.     ResultSet rs = updatableStmt.executeQuery(selectString);
  49.  
  50.     while(rs.next()){
  51.  
  52.        
  53.         System.out.printf("%4d %-24s %d\n", rs.getInt("id"), rs.getString("name"), rs.getInt("studyYear"));
  54.  
  55.         rs.updateInt("studyYear", rs.getInt("studyYear")+1);
  56.         rs.updateRow();
  57.  
  58.     }
  59.  
  60.     try {
  61.         DriverManager.getConnection("jdbc:derby:;shutdown=true");
  62.     }catch (SQLException e){
  63.         if(!"XJ015".equals(e.getSQLState())){
  64.             throw e;
  65.         }
  66.     }
  67.  
  68.     }
  69.  
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement