Файл Eclipse не подключается к SQLite - PullRequest
0 голосов
/ 28 апреля 2020

Я посмотрел на все rnet, пытаясь понять это. Каждый раз, когда я запускаю свой код, он создает новую пустую базу данных на моем рабочем столе вместо подключения к базе данных, которую я уже настроил. Я приложил и файл подключения, и файл входа в систему, и я скачал все необходимые jar-файлы к ним, и добавил их в указанный библиотечный файл, я, честно говоря, не могу понять, что еще мне не хватает. Когда я запускаю код, я получаю сообщение об ошибке «org.sqlite.SQLiteException: [SQLITE_ERROR] SQL ошибка или отсутствует база данных (нет такой таблицы: пользователи)». Также я использую mysql -connection.jar, который работать на sqlite?

import java.sql.*;
import javax.swing.*;

public class sqliteConnection {

    Connection conn=null;
    public static Connection dbConnector() {

        try {
            Class.forName("org.sqlite.JDBC");
            Connection conn = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\Marissa     Stevens\\Desktop\\Movies 'R' Us! DB.db");
            JOptionPane.showMessageDialog(null, "Connection Successful");
            return conn;
        } catch(Exception e) {

            JOptionPane.showMessageDialog(null, e);
            return null;
        }
    }
}
import java.awt.EventQueue;
import javax.swing.JFrame;
import java.sql.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Login {

    private JFrame frame;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Login window = new Login();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    Connection connection = null;
    private JTextField textField;
    private JPasswordField passwordField;

    /**
     * Create the application.
     */
    public Login() {
        initialize();
        connection = sqliteConnection.dbConnector();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 450, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);

        JLabel lblNewLabel = new JLabel("Login Page");
        lblNewLabel.setBounds(187, 27, 69, 14);
        frame.getContentPane().add(lblNewLabel);

        JLabel lblNewLabel_1 = new JLabel("Username:");
        lblNewLabel_1.setBounds(46, 87, 69, 14);
        frame.getContentPane().add(lblNewLabel_1);

        JLabel lblNewLabel_2 = new JLabel("Password:");
        lblNewLabel_2.setBounds(46, 135, 69, 14);
        frame.getContentPane().add(lblNewLabel_2);

        textField = new JTextField();
        textField.setBounds(125, 84, 96, 20);
        frame.getContentPane().add(textField);
        textField.setColumns(10);

        passwordField = new JPasswordField();
        passwordField.setBounds(125, 135, 96, 20);
        frame.getContentPane().add(passwordField);

        JButton btnNewButton = new JButton("Click to login");
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    String query = "select * from Users where Username=? and Password=? ";
                    PreparedStatement pst = connection.prepareStatement(query);
                    pst.setString(1, textField.getText());
                    pst.setString(2, passwordField.getText());
                    ResultSet rs = pst.executeQuery();
                    int count = 0;
                    while(rs.next()) {
                        count = count+1;
                    }
                    if(count==1) {
                        JOptionPane.showMessageDialog(null, "User info are correct");
                    }
                    else if(count>1) {
                        JOptionPane.showMessageDialog(null, "User info are duplicated");
                    }
                    else {
                        JOptionPane.showMessageDialog(null, "User info is not correct. Make sure that all fields are typed correctly without error and try again.");
                    }

                    rs.close();
                    pst.close();

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

            }
        });
        btnNewButton.setBounds(125, 194, 112, 23);
        frame.getContentPane().add(btnNewButton);
    }

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