27
Фев
2017

Помогите разобраться с sqlite

Помогите разобраться с СУБД: создал коннект для подключения БД к проекту, вот мой путь "url = "jdbc:sqlite:TEST1.s3db". Всё подключил, для добавления данных из БД в таблицу написал код:

public class DBConnection {
    private String host;
    private String root;
    private String password;
    private String nameDB;
    private String url;

    private Properties propeties = new Properties();
    private Connection sqliteConnect;

    public DBConnection(String root, String password) {
        this.root = root;
        this.password = password;
    }

    //dly us puti k BD i user i parol
    public void initProperties() {
        //указываем путь к БД
        url = "jdbc:sqlite:TEST1.s3db";
        //  url = "jdbc:sqlite://"+put'+";

        propeties.setProperty("user", root);
        propeties.setProperty("password", password);
        // dlya otobrajeniya simvolov normal'nuh
        propeties.setProperty("characterEncoding", "UTF-8");
        propeties.setProperty("useUnocode", "true");

        System.out.println("URL: " + url);
    }

    public void connect() {
        try {
            // нужен для подключения драйвера
            Class.forName("org.sqlite.JDBC");
        } catch (Exception e) {
            e.printStackTrace();
        }

        try {
            sqliteConnect = DriverManager.getConnection(url);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Вызвал их в другом классе:

DBConnection conn = new DBConnection("","");
conn.connect();
conn.initProperties();  btm.addData(conn);

И в этом методе:

public void addData(DBConnection conn) throws SQLException {
    /*
       ResultSet result = conn.resultSetQuery("select * from Predmetu");
       try {
           while (result.next()) {
               String id = result.getString("id");
               String predmetu = result.getString("predmetu");


               String[] row = {id, predmetu};
               addData(row);
           }
       } catch (Exception e) {
           e.printStackTrace();
       }
   }
   */

    try {
        connection = DriverManager.getConnection("jdbc:sqlite:TEST1.s3db");
        Statement statement = connection.createStatement();

        statement.executeUpdate("insert into Predmetu values(1, 'SU')");

        ResultSet rs = statement.executeQuery("select * from Predmetu");
        while (rs.next()) {
            // read the result set
            System.out.println("id = " + rs.getInt("id"));
            System.out.println("name = " + rs.getString("predmetu"));

            String id = rs.getString("id");
            String predmetu = rs.getString("predmetu");

            String[] row = {id, predmetu};
            addData(row);
        }
        statement.close();
        connection.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

Нижняя часть работает отлично, а верхняя нет. Я что-то не так делаю?

Источник: https://ru.stackoverflow.com/questions/632976/%D0%9F%D0%BE%D0%BC%D0%BE%D0%B3%D0%B8%D1%82%D0%B5-%D1%80%D0%B0%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D1%8C%D1%81%D1%8F-%D1%81-sqlite

Тебе может это понравится...

Добавить комментарий