0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 6

Ошибка SQLITE_BUSY

04.05.2020, 23:46. Показов 671. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа: для продавца в магазине. Авторизация и просмотр пользователей работают исправно, но когда вызываю добавить\удалить пользователя выходит ошибка [SQLITE_BUSY] The database file is locked. Мучаюсь целый день, не понимаю в чем ошибка.
Снизу 2 класса, первый Main второй Login

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import java.util.Scanner;
 
public class Main {
 
 
    public static void main(String[] args) {
        Base base = new Base();
 
        login();
 
    }
 
 
    public static void login(){
        Login login  = new Login();
        login.open();
 
        Scanner input = new Scanner(System.in);
        String user, pass;
 
        System.out.println("Введите логин(для теста: admin): ");
        user = input.nextLine();
 
        System.out.println("Введите пароль(для теста: admin): ");
        pass = input.nextLine();
 
        login.enterLogin(user, pass);
 
 
    }
 
 
    public static void login2 () {
        Base base = new Base();
        Login login = new Login();
        Scanner sc = new Scanner(System.in);
        System.out.println("Магазин \"Электро\"");
        System.out.println("Выберите нужный пункт: ");
        System.out.println("1 - Просмотр товаров");
        System.out.println("2 - Продажа");
        System.out.println("3 - Добавить товар");
        System.out.println("4 - Удалить товар");
        System.out.println("5 - Найти товар");
        System.out.println("6 - Просмотр пользователей");
        System.out.println("7 - Добавить пользователя");
        System.out.println("8 - Удалить пользователя");
 
        int choose = sc.nextInt();
 
        if (choose == 1){
            base.open();
            base.select();
        }
        else if (choose == 2){
 
        }
        else if (choose == 3){
 
        }
        else if (choose == 4){
 
        }
        else if (choose == 5){
 
        }
        else if (choose == 6){
            login.open();
            login.selectUser();
        }
        else if (choose == 7){
            login.open();
            login.addUser();
 
        }
        else if (choose == 8){
            login.open();
            login.deleteUser();
        }
        else {
            System.out.println("Вы ввели не верное число :(");
            login();
        }
 
    }
 
 
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
import java.sql.*;
import java.util.Scanner;
 
public class Login {
    Connection co;
 
    boolean open ()
    {
        try
        {
            Class.forName("org.sqlite.JDBC");
            co = DriverManager.getConnection(
                    "jdbc:sqlite:D:\\electro2\\Sqlite\\electro.db");
            return true;
        }
        catch (Exception e)
        {
            System.out.println(e);
            System.out.println("no connect DB");
            return false;
        }
    }
 
    void enterLogin(String log, String pass){
        Main main = new Main();
        try{
            Statement statement = co.createStatement();
            String query = "SELECT login, password FROM users";
            ResultSet rs = statement.executeQuery (query);
            boolean check = false;
            while (rs.next()){
                String login = rs.getString("login");
                String password = rs.getString("password");
                if (log.equalsIgnoreCase(login) && pass.equalsIgnoreCase(password)){
                    System.out.println("Добро пожаловать");
                    Main.login2();
                    check = true;
                    break;
                }
                else {
                    check = false;
 
                }
            }
            rs.close();
           statement.close();
           co.close();
 
            if (check == false){
                System.out.println("Имя пользователя или пароль неверные");
                Main.login();
            }
 
        }
        catch (Exception e){
            System.out.println(e.getMessage());
            System.out.println("can`t connect");
        }
 
    }
    void selectUser(){
        try{
            Statement statement = co.createStatement();
            String query = "SELECT id, login, password FROM users";
            ResultSet rs = statement.executeQuery (query);
            System.out.println("id| логин - пароль");
            while (rs.next()){
                int id = rs.getInt("id");
                String login = rs.getString("login");
                String password = rs.getString("password");
 
                System.out.println(id + " | " + login + " - " + password);
            }
            rs.close();
            statement.close();
            co.close();
 
        }
        catch (Exception e){
            System.out.println(e.getMessage());
            System.out.println("can`t connect");
        }
    }
 
 
    public void deleteUser() {
        Scanner sc = new Scanner(System.in);
        System.out.println("Введите id пользователя: ");
        int choose = sc.nextInt();
        try (PreparedStatement statement = this.co.prepareStatement(
                "DELETE FROM Products WHERE id = ?")) {
            statement.setObject(1, choose);
            // Выполняем запрос
            statement.execute();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
 
    void addUser(){
        try{
            Statement statement = this.co.createStatement();
            Scanner sc = new Scanner(System.in);
            System.out.println("Введите логин пользователя: ");
            String newLogin = sc.nextLine();
            System.out.println("Введите пароль пользователя: ");
            String newPass = sc.nextLine();
 
 
            String query = "INSERT INTO users (login, password) "+
                            "VALUES ('" + newLogin + "','" + newPass + "')";
 
            statement.executeUpdate (query);
            System.out.println("Пользователь добавлен");
 
            statement.close();
            co.close();
        }
        catch (Exception e){
            System.out.println(e.getMessage());
            System.out.println("can`t connect");
        }
    }
 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.05.2020, 23:46
Ответы с готовыми решениями:

IIS- asp ошибка: HTTP 500.100 - Внутренняя ошибка сервера - ошибка ASP Internet Information Services
Привет! Конфигурация win2000pro sp2, стандартный IIS, IE 5. При попытке обратиться к сценарию(asp) получаю ошибку: <пропуск>...

Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи!
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове...

Ошибка при добавлении в файл. Ошибка 101: Ошибка записи на диск (Error 101: Disk write error).
Здравствуйте, возникла проблема такого плана. Нужно произвести добавление записи в файл, но после успешного создания и чтения вылазиет...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.05.2020, 23:46
Помогаю со студенческими работами здесь

Загружается до окна приветствия и вылетает ошибка: isass.exe - Системная ошибка
Ребята, помогите кто может... весь день бьюсь безрезультатно... с утра пришёл на работу а сервак не пингуется... загружается до...

Django Ошибка доступа (403) Ошибка проверки CSRF. Запрос отклонён
На хостинге разместил сайт и не могу войти в админку, т.к. возникает 403 ошибка "Ошибка доступа (403). Ошибка проверки CSRF. Запрос...

Ошибка SQL запроса , в базе работает, а через IBQuery в Delphi ошибка
В Combobox загружены имена организаций. Нужно выполнить запрос на вывод всех полей таблицы организаций при выборе имени в Combobox. При...

Ошибка HTTP 500 - внутреняя ошибка сервера при отправке почты.
Я пытаюсь отправить почту и присоединяю к ней письма Вот часть страницы Dim myMail Set myMail = CreateObject('CDONTS.NewMail') ...

Ошибка разбора XML/ Ошибка при вызове метода контекста (Прочитать)
1C 8.2 Документооборот КОРП 1.2 Текст ошибки {ОбщийМодуль.АвтозаполнениеШаблоновФайловКлиентСервер.Модуль(616)}: Ошибка при вызове...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru