Advertisement
Guest User

Untitled

a guest
Jun 11th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.21 KB | None | 0 0
  1. @Override
  2.     public SudokuBoard read() throws WrongValueException, WrongIndexException, SQLException {
  3.         SudokuBoard brd = new SudokuBoard();
  4.         try {
  5.             Connection connection = DriverManager.getConnection("jdbc:derby:SudokuDB;create=false;user=test;password=test:");
  6.             Statement stm = connection.createStatement();
  7.             ResultSet r = stm.executeQuery("select max(board) as m from fields");
  8.             int board;
  9.             if (r.next()) {
  10.                 board = r.getInt("m");
  11.             } else {
  12.                 board = 0;
  13.             }
  14.             r = stm.executeQuery("select * from fields where board=" + board);
  15.  
  16.  
  17.             while (r.next()) {
  18.                 boolean editable = (r.getInt("is_editable") == 1 ? true : false);
  19.                 SudokuField sf = brd.getField(r.getInt("x"), r.getInt("y"));
  20.                 sf.setEditable(editable);
  21.                 sf.setFieldValue(r.getInt("value"));
  22.  
  23.             }
  24.             connection.close();
  25.             return brd;
  26.         } catch (SQLException e) {
  27.             logger.error("Problem with Database");
  28.         }
  29.         return brd;
  30.     }
  31.  
  32.     @Override
  33.     public void write(final SudokuBoard obj) throws SQLException {
  34.         try {
  35.             Connection connection = DriverManager.getConnection("jdbc:derby:SudokuDB;create=false;user=test;password=test");
  36.             Statement stm = connection.createStatement();
  37.             int editable;
  38.             ResultSet r = stm.executeQuery("select max(board) as m from fields");
  39.             r.next();
  40.             int board = r.getInt("m") + 1;
  41.             for (int x = 0; x < 9; x++) {
  42.                 for (int y = 0; y < 9; y++) {
  43.                     editable = (obj.getField(x, y).isEditable() ? 1 : 0);
  44.                     stm.execute("insert into fields(board, posx, posy, value, Edit) " + "values ("
  45.                             + board + ", " + x + ", " + y + ", " + obj.getValue(x, y) + ", " + editable + ")");
  46.                 }
  47.             }
  48.             connection.close();
  49.         } catch (SQLException e) {
  50.             logger.error("Problem with Database");
  51.         } catch (WrongIndexException e) {
  52.             logger.error("Wrong Index");
  53.         }
  54.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement