Ошибка базы данных Java: база данных была закрыта - PullRequest
0 голосов
/ 17 января 2019

Это мой первый раз с базой данных Java. У меня сейчас проблема с базой данных. Когда я пытаюсь отредактировать или добавить что-либо в базу данных, я получаю информационный диалог, в котором говорится: «База данных закрыта».

p.s: Я впервые пишу вопрос по stackoverflow, поэтому извиняюсь, если что-то напутал.

public class Databaseconnectionfile {
    public static void main(String[] args) {
            new IDU();
        Connection c=null;
        try {
            Class.forName("org.sqlite.JDBC");
            c=DriverManager.getConnection("jdbc:sqlite:test.db");

        }
        catch(Exception e) {
                    System.out.println("Error!!");
            System.err.println(e.getClass().getName()+":"+e.getMessage());
            System.exit(0);
        }

public class IDU extends JFrame {
    JLabel JL_name,JL_father_name, JL_age, JL_id;
    JTextField JT_name, JT_father_name,JT_age, JT_id;
    JButton btn_insert, btn_update,btn_delete;

    // create the method here

    public IDU() {
        super ("Insert Update Delete App");
        JL_name=new JLabel("Name");
        JL_father_name=new JLabel("Father Name");
        JL_age=new JLabel("Age");
        JL_id=new JLabel("ID ");

        // set boudries here

        JL_id.setBounds(20,20,100,20);
        JL_name.setBounds(20,50,100,20);
        JL_father_name.setBounds(20,80,100,20);
        JL_age.setBounds(20,110,100,20);

        // for text field initilization

        JT_name =new JTextField(20);
        JT_father_name =new JTextField(20);
        JT_age =new JTextField(20);
        JT_id =new JTextField(20);

        //set boundries for the text field

        JT_id.setBounds(130,20,150,20);
        JT_name.setBounds(130,50,150,20);
        JT_father_name.setBounds(130,80,150,20);
        JT_age.setBounds(130,110,150,20);

        // adding button

        btn_insert=new JButton("Insert");
        btn_update=new JButton("Update");
        btn_delete=new JButton("Delete");

        // set boundries for button

        btn_insert.setBounds(300,50,80,20);
        btn_update.setBounds(300,80,80,20);
        btn_delete.setBounds(300,110,80,20);

        //setting the layout

        setLayout(null);
        add(JL_id);
        add(JL_name);
        add(JL_father_name);
        add(JL_age);
        add(JT_id);
        add(JT_name);
        add(JT_father_name);
        add(JT_age);
        add(btn_insert);
        add(btn_delete);
        add(btn_update);

        // implementing the action listner on the button
        btn_insert.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                try {
                    theQuery("insert into users(id,name,fathername,age)values("+JT_id.getText()+","+JT_name.getText()+","+JT_father_name.getText()+","+JT_age.getText()) ;
                }catch(Exception ex) {
            }

        }



    });

        btn_update.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                try {
                    theQuery("update users set name='"+JT_name.getText()+"','"+JT_father_name.getText()+","+JT_age.getText()+"where id="+JT_id.getText());
                }catch(Exception ex) {
            }

        }



    });
        btn_delete.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                try {
                    theQuery("delete from users where id="+JT_id.getText());
                }catch(Exception ex) {
            }

        }



    });
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        setLocationRelativeTo(null);
        setSize(500,500);


    }
        //creating the connection with database
    public void theQuery(String query) {
        Connection c=null;
        Statement stmt=null;
        try {
            c=DriverManager.getConnection("jdbc:sqlite:D:\\COMSATS\\Java Projects\\projectFinal","root","");
            stmt=c.createStatement();
            stmt.executeUpdate(query);

            JOptionPane.showMessageDialog(null, "Query Executed");

        }
        catch(Exception ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...