Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- public SudokuBoard read() throws WrongValueException, WrongIndexException, SQLException {
- SudokuBoard brd = new SudokuBoard();
- try {
- Connection connection = DriverManager.getConnection("jdbc:derby:SudokuDB;create=false;user=test;password=test:");
- Statement stm = connection.createStatement();
- ResultSet r = stm.executeQuery("select max(board) as m from fields");
- int board;
- if (r.next()) {
- board = r.getInt("m");
- } else {
- board = 0;
- }
- r = stm.executeQuery("select * from fields where board=" + board);
- while (r.next()) {
- boolean editable = (r.getInt("is_editable") == 1 ? true : false);
- SudokuField sf = brd.getField(r.getInt("x"), r.getInt("y"));
- sf.setEditable(editable);
- sf.setFieldValue(r.getInt("value"));
- }
- connection.close();
- return brd;
- } catch (SQLException e) {
- logger.error("Problem with Database");
- }
- return brd;
- }
- @Override
- public void write(final SudokuBoard obj) throws SQLException {
- try {
- Connection connection = DriverManager.getConnection("jdbc:derby:SudokuDB;create=false;user=test;password=test");
- Statement stm = connection.createStatement();
- int editable;
- ResultSet r = stm.executeQuery("select max(board) as m from fields");
- r.next();
- int board = r.getInt("m") + 1;
- for (int x = 0; x < 9; x++) {
- for (int y = 0; y < 9; y++) {
- editable = (obj.getField(x, y).isEditable() ? 1 : 0);
- stm.execute("insert into fields(board, posx, posy, value, Edit) " + "values ("
- + board + ", " + x + ", " + y + ", " + obj.getValue(x, y) + ", " + editable + ")");
- }
- }
- connection.close();
- } catch (SQLException e) {
- logger.error("Problem with Database");
- } catch (WrongIndexException e) {
- logger.error("Wrong Index");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement