Помогите Ошибка SQLite

  • Автор темы Автор темы Sergeo
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Sergeo

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Solomka
Всем привет! У меня ошибка в синтаксисе, но не пойму в чем проблема (жалуется на ошибку рядом с ,)

Если кто-то знает в чем проблема, то подскажите ошибку синтаксиса(Сам понять никак не могу)

Проблемные строки 176:
Код:
            ResultSet resultSet = statement.executeQuery(String.format("SELECT 'fraction', 'UUID' FROM player_data WHERE 'fraction'='%s', 'UUID'='%s'", fraction, id));
94:
Код:
            ResultSet resultSet = statement.executeQuery(String.format("SELECT 'isHaveMedcard', 'UUID' FROM player_data WHERE 'isHaveMedcard'='%s', 'id'='%s'", isHaveMedcard, id));
281:
Код:
            ResultSet resultSet = statement.executeQuery(String.format("SELECT 'isHaveDiplom', 'UUID' FROM player_data WHERE 'isHaveDiplom'='%s', 'UUID'='%s'", isHaveDiplom, id));
197:
Код:
ResultSet resultSet = statement.executeQuery(String.format("SELECT 'BlackList', 'fraction', 'UUID' FROM player_data WHERE 'BlackList'='%s', 'UUID'='%s', 'fraction'='%s'", BlackList, fraction, id));

Ошибка:
Код:
org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (near ",": syntax error)





Код(много):

Код:
   public static Connection getConnection() throws SQLException {
        if (user != null)
            return DriverManager.getConnection(url, user, password);
        else return DriverManager.getConnection(url);
    }

    public static void saveIsHaveMedcard(boolean isHaveMedcard, UUID id){
        List<Data> log = new ArrayList<>();
        try {

            Connection c = getConnection();
            Statement statement = c.createStatement();

            for(Data dat : log){
                statement.executeUpdate(String.format("INSERT player_data ('isHaveMedcard', 'UUID') VALUES (%d, '%s', '%s');",
                        isHaveMedcard, id, dat.isHaveMedcard(), dat.getUuid()));
            }

            statement.close();

            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
    }

    public static boolean getIsHaveMedcard(boolean isHaveMedcard, UUID id){
        try {

            Connection c = getConnection();
            Statement statement = c.createStatement();

            ResultSet resultSet = statement.executeQuery(String.format("SELECT 'isHaveMedcard', 'UUID' FROM player_data WHERE 'isHaveMedcard'='%s', 'id'='%s'", isHaveMedcard, id));

            isHaveMedcard = Data.data_5(resultSet.getBoolean("isHaveMedcard"));
            Data.data_3((UUID) resultSet.getObject("UUID"));


            statement.close();
            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return isHaveMedcard;
    }

    public static void saveDat(List<Data> log){
        try {

            Connection c = getConnection();
            Statement statement = c.createStatement();

            for(Data dat : log) {
                statement.executeUpdate(String.format("INSERT player_data ('UUID', 'fraction', 'rank', 'BlackList', 'warning', 'isHaveDimplom') VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s');",
                        dat.getUuid(), dat.getFraction(), dat.getRank(), dat.isBlackList(), dat.getWarning(), dat.isHaveDiploma()));
            }
            statement.close();
            c.close();


        } catch (Exception e){
            e.printStackTrace();
        }
    }

    public static void saveDatRank(int rank, UUID id){
        List<Data> log = new ArrayList<>();
        try {

            Connection c = getConnection();
            Statement statement = c.createStatement();

            for(Data dat : log){
                statement.executeUpdate(String.format("INSERT player_data ('rank') VALUES (%d, '%s', '%s');", rank, id,
                        dat.getRank(), dat.getUuid()));
            }

            statement.close();
            c.close();


        } catch (Exception e){
            e.printStackTrace();
        }
    }

    public static List<Data> getDat(UUID uuid, int fraction, double rank, int warning){
        List<Data> logs = new ArrayList<>();
        try {

            Connection c = getConnection();
            Statement statement = c.createStatement();

            ResultSet resultSet = statement.executeQuery(String.format("SELECT 'UUID', 'fraction', 'rank', 'warning' FROM player_data WHERE 'UUID'='%s', 'fraction'='%s', 'rank'='%s', 'warning'='%s'", uuid, rank, fraction, warning));

            while (resultSet.next()){
                logs.add(new Data(resultSet.getInt("fraction"), (UUID) resultSet.getObject("UUID"), (int) resultSet.getDouble("rank"), resultSet.getBoolean("isHaveMedcard"), resultSet.getBoolean("BlackList"), resultSet.getInt("warning"), resultSet.getBoolean("isHaveDiplom")));
            }

            statement.close();
            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return logs;
    }

    public static boolean getDatFraction(int fraction, UUID id){
        try {
            Connection c = getConnection();
            Statement statement = c.createStatement();

            ResultSet resultSet = statement.executeQuery(String.format("SELECT 'fraction', 'UUID' FROM player_data WHERE 'fraction'='%s', 'UUID'='%s'", fraction, id));

            while (resultSet.next()){
                Data.data_2(resultSet.getInt("fraction"));
                Data.data_3((UUID) resultSet.getObject("UUID"));
            }

            statement.close();
            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return true;
    }

    public static boolean getBlackList(boolean BlackList, int fraction, UUID id){
        try {
            Connection c = getConnection();
            Statement statement = c.createStatement();

            ResultSet resultSet = statement.executeQuery(String.format("SELECT 'BlackList', 'fraction', 'UUID' FROM player_data WHERE 'BlackList'='%s', 'UUID'='%s', 'fraction'='%s'", BlackList, fraction, id));

            while (resultSet.next()){
                BlackList = Data.data_6(resultSet.getBoolean("BlackList"));
                Data.data_2(resultSet.getInt("fraction"));
                Data.data_3((UUID) resultSet.getObject("UUID"));
            }

            statement.close();
            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return BlackList;
    }

    public static boolean saveBlackList(boolean BlackList, int fraction, UUID id) {
        List<Data> log = new ArrayList<>();
        try {
            Connection c = getConnection();
            Statement statement = c.createStatement();

            for (Data dat : log) {
                statement.executeUpdate(String.format("INSERT player_data ('BlackList', 'fraction', 'UUID') VALUES (%d, '%s', '%s', '%s');", BlackList, fraction, id,
                        dat.getUuid(id), dat.getFraction(), dat.getBlackList()));
            }

            statement.close();
            c.close();


        } catch (Exception e) {
            e.printStackTrace();
        }
        return BlackList;
    }

    public static int saveWarning(int warning, int fraction, UUID id) {
        List<Data> log = new ArrayList<>();
        try {
            Connection c = getConnection();
            Statement statement = c.createStatement();

            for (Data dat : log) {
                statement.executeUpdate(String.format("INSERT player_data ('warning', 'fraction', 'UUID') VALUES (%d, '%s', '%s', '%s');", warning, fraction, id,
                        dat.getUuid(id), dat.getFraction(), dat.getWarning()));
            }

            statement.close();
            c.close();


        } catch (Exception e) {
            e.printStackTrace();
        }
        return warning;
    }

    public static boolean saveHaveDimplom(boolean isHaveDiplom, UUID id) {
        List<Data> log = new ArrayList<>();
        try {
            Connection c = getConnection();
            Statement statement = c.createStatement();

            for (Data dat : log) {
                statement.executeUpdate(String.format("INSERT player_data ('isHaveDiplom', 'UUID') VALUES (%d, '%s', '%s');", isHaveDiplom, id,
                        dat.getUuid(), dat.isHaveDiploma()));
            }

            statement.close();
            c.close();


        } catch (Exception e) {
            e.printStackTrace();
        }
        return isHaveDiplom;
    }

    public static boolean getDiplom(boolean isHaveDiplom, UUID id){
        try {
            Connection c = getConnection();
            Statement statement = c.createStatement();

            ResultSet resultSet = statement.executeQuery(String.format("SELECT 'isHaveDiplom', 'UUID' FROM player_data WHERE 'isHaveDiplom'='%s', 'UUID'='%s'", isHaveDiplom, id));

            while (resultSet.next()){

                isHaveDiplom = Data.data_8(resultSet.getBoolean("isHaveDiplom"));
                Data.data_3((UUID) resultSet.getObject("UUID"));
            }

            statement.close();
            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return isHaveDiplom;
    }

    public static boolean getWarning(int warning, UUID id, int fraction){
        try {
            Connection c = getConnection();
            Statement statement = c.createStatement();

            ResultSet resultSet = statement.executeQuery(String.format("SELECT 'warning', 'UUID', 'fraction' FROM player_data WHERE 'rank'='%s', 'UUID'='%s', 'fraction'='%s'", warning, id, fraction));

            while (resultSet.next()){

                Data.data_7(resultSet.getInt("warning"));
                Data.data_2(resultSet.getInt("fraction"));
                Data.data_3((UUID) resultSet.getObject("UUID"));
            }

            statement.close();
            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return true;
    }


    public static boolean getDataRank(double rank, int fraction, UUID id){
        try {
            Connection c = getConnection();
            Statement statement = c.createStatement();

            ResultSet resultSet = statement.executeQuery(String.format("SELECT 'rank', 'fraction', 'UUID' FROM player_data WHERE 'rank'='%s', 'fraction'='%s', 'UUID'='%s'", rank, fraction, id));

            while (resultSet.next()){

                Data.data_4((int) resultSet.getDouble("rank"));
                Data.data_2(resultSet.getInt("fraction"));
                Data.data_3((UUID) resultSet.getObject("UUID"));
            }

            statement.close();
            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return true;
    }

    public static int getIntRank(int rank, int fraction, UUID id){
        try {
            Connection c = getConnection();
            Statement statement = c.createStatement();

            ResultSet resultSet = statement.executeQuery(String.format("SELECT 'rank', 'fraction', 'UUID' FROM player_data WHERE 'rank'='%s', 'fraction'='%s' 'UUID'='%s'", rank, fraction, id));

            while (resultSet.next()){

                rank = Data.data_4((int) resultSet.getDouble("rank"));
                Data.data_2(resultSet.getInt("fraction"));
                Data.data_3((UUID) resultSet.getObject("UUID"));
            }

            statement.close();
            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return rank;
    }

    // Удаление игрока из бд
    public static UUID removePlayer(UUID uuid){

        try {

            Connection c = getConnection();
            Statement statement = c.createStatement();

            statement.executeUpdate(String.format("DELETE FROM player_data WHERE 'UUID'='%s'", uuid));

            statement.close();
            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return uuid;
    }

    // Удаление игрока из ранга
    public static int removeRank(int rank, UUID id){
        int i = 0;
        try {

            Connection c = getConnection();
            Statement statement = c.createStatement();

            i = statement.executeUpdate(String.format("DELETE FROM player_data WHERE 'rank'='%s', 'UUID'='%s'", rank, id));

            statement.close();
            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return i;
    }

    // Очистка
    public static int clear(){
        int i = 0;
        try {

            Connection c = getConnection();
            Statement statement = c.createStatement();

            i = statement.executeUpdate("DELETE FROM player_data;");

            statement.close();

            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return i;
    }

    public static double getRank(UUID id){
        double i = 0;
        try {

            Connection c = getConnection();
            Statement statement = c.createStatement();

            i = statement.executeUpdate(String.format("SELECT 'rank', 'UUID' FROM player_data WHERE 'rank'='%s', 'UUID'='%s'", id));

            statement.close();

            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return i;
    }

    public static int getFraction(UUID id){
        int i = 0;
        try {

            Connection c = getConnection();
            Statement statement = c.createStatement();

            i = statement.executeUpdate(String.format("SELECT 'fraction', 'UUID' FROM player_data WHERE 'fraction'='%s', 'UUID'='%s'", id));

            statement.close();

            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return i;
    }

    public static int getWarning(UUID id){
        int i = 0;
        try {

            Connection c = getConnection();
            Statement statement = c.createStatement();

            i = statement.executeUpdate(String.format("SELECT 'warning', 'UUID' FROM player_data WHERE 'warning'='%s', 'UUID'='%s'", id));

            statement.close();

            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return i;
    }

}

[/SPOILER]
 
Последнее редактирование:
Код:
WHERE column = 'value' and column1 = 'value1'

NOT

Код:
WHERE column = 'value', column1 = 'value1'
 
Код:
WHERE column = 'value' and column1 = 'value1'

NOT

Код:
WHERE column = 'value', column1 = 'value1'
И вопрос(Насчет UUID)

Код:
statement.executeUpdate("CREATE TABLE IF NOT EXISTS player_data ('UUID' INT, 'rank' DOUBLE, 'fraction' INT, 'isHaveMedcard' BOOLEAN, 'BlackList' BOOLEAN);");

UUID в данном случае object? Или все же int? Насколько я знаю uuid нет
 
И вопрос(Насчет UUID)

Код:
statement.executeUpdate("CREATE TABLE IF NOT EXISTS player_data ('UUID' INT, 'rank' DOUBLE, 'fraction' INT, 'isHaveMedcard' BOOLEAN, 'BlackList' BOOLEAN);");

UUID в данном случае object? Или все же int? Насколько я знаю uuid нет
Меня вообще интересует почему UUID типа INT
 
И вопрос(Насчет UUID)

Код:
statement.executeUpdate("CREATE TABLE IF NOT EXISTS player_data ('UUID' INT, 'rank' DOUBLE, 'fraction' INT, 'isHaveMedcard' BOOLEAN, 'BlackList' BOOLEAN);");

UUID в данном случае object? Или все же int? Насколько я знаю uuid нет
uuid может быть типа либо varchar, либо text
 
uuid может быть типа либо varchar, либо text
Код:
[12:50:21 WARN]: java.sql.SQLException: ResultSet closed

Теперь с бд все окей, но пишет это

При взаимодействии с предметом в инвентаре, который отвечает за вход в фракцию(Он помещает, но выдает ошибку, а следовательно не может проверить наличие мед.карты или находится игрок в чс фракции)

(MySQLDataBase.java:118)

118: data_5(resultSet.getBoolean("isHaveMedcard"));


Код:
    public static boolean getIsHaveMedcard(boolean isHaveMedcard, UUID id){
        try {

            Connection c = getConnection();
            Statement statement = c.createStatement();

            ResultSet resultSet = statement.executeQuery(String.format("SELECT 'isHaveMedcard', 'UUID' FROM player_data WHERE isHaveMedcard ='%s' and UUID ='%s'", isHaveMedcard, id));

            data_5(resultSet.getBoolean("isHaveMedcard"));
            data_3((UUID) resultSet.getObject("UUID"));

            statement.close();
            c.close();

        } catch (Exception e){
            e.printStackTrace();
        }
        return isHaveMedcard;
    }
 
после statement.close() закроется и resultset
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх