Не читает и не записывает в БД SQLIte Java

213
10 февраля 2020, 07:40

возникла проблема. При подключении к БД не выводит никаких ошибок, так же и при записи и чтении из бд никаких ошибок нет, но при этом строки в таблицу не записываются и чтения строк тоже не происходит.

public class DB {
private static DB db;
private Connection co;
Statement st;


public static synchronized DB getDB() {
    if (db == null) {
        db = new DB();
        db.connect();
    }
    return db;
}
private DB(){
}
private void connect(){
    try{
        co = DriverManager.getConnection("jdbc:sqlite:journal.db");
        System.out.println("connect...");
    }catch(SQLException ex){
        System.out.println(ex.getMessage());
    }
}
public ResultSet select(String query){
    ResultSet rs = null;
    try{
        st= co.createStatement();
        rs = st.executeQuery(query);
        st.close();
    }catch(SQLException ex){
        System.out.println(ex.getMessage());
    }

     return rs;
}
public void insert(String query){
    try{
        st = co.createStatement();
        st.executeUpdate(query);
    }catch(SQLException ex){
        System.out.println(ex.getMessage());
    }
}}


public abstract class Model {
private final DB db;
protected Model(){
    db = DB.getDB();
}
protected ResultSet select(String query){
    return db.select(query);
}
protected void insert(String query){
    db.insert(query);
}}

public class SampleModel extends Model {
public boolean isAuth(String login, String pass){
    insert("insert into users(login, password) values('admin', 'admin');");
    ResultSet rs = select("select * from users;");
    System.out.println("select * from users where login = '"+login+"' and password = '"+pass+"'");
    try {
        while (rs.next()) {
            System.out.println(rs.getString("login"));
            System.out.println(rs.getString("password"));
        }
        rs.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return true;
}}
Answer 1

Разве можно statement закрывать пока читаем из ResultSet (в select)? И для записи попробуйте использовать не ExecuteQuery, а Execute.

READ ALSO
Что лучше использовать для хранения и отображения значения из файла, который мы добавляем сами в AS?

Что лучше использовать для хранения и отображения значения из файла, который мы добавляем сами в AS?

Задача: получить рандомное значение(текстовый абзац) с файла, который мы сами добавляем в Android StudioАбзацев в файле много

223
Внутренняя тень для LinearLayout

Внутренняя тень для LinearLayout

Никак не могу понять, как можно сделать внутреннюю теньЧтобы было так: Пытался сделать так:

185
Принцип generic типов Java

Принцип generic типов Java

Пытаюсь написать параметризуемый метод, принимающий параметризованные типы:

187
Заполнить таблицу enum с помощью JPA

Заполнить таблицу enum с помощью JPA

Есть два класса enum и класс содержащий его как атрибут

196