Java MySQL和JFrame连接 "Cannot convert from boolean to connection"

标签 java android mysql swing import

公共(public)类(class) BancoDeDados {

static String url = "jdbc:mysql://localhost:3306/Estoque";
static String pass = "admin";
static String user = "admin";
static Connection conexao = null;

public static boolean conecta() throws ClassNotFoundException {

    try {
        Class.forName("mysql.Driver");
        conexao = DriverManager.getConnection(url, user, pass);
        //System.out.println("Conectado.");
        JOptionPane.showMessageDialog(null, "Conectado com Sucesso!");
        return true;
    } catch (SQLException e) {
        JOptionPane.showMessageDialog(null, "Usuário e/ou senha estão incorretos!");
        //System.out.println("Usuário e/ou senha estão errados.");
        return false;
    }

}

公共(public)类 TelaPrincipal 扩展 JFrame {

Connection conexao = null;
PreparedStatement pst = null;
ResultSet rs = null;


private JPanel contentPane;
private JTextField textLogin;
private JPasswordField textSenha;





public void logar(){
    String sql = "Select *from Login WHERE Usuario = ? and senha = ?";
    try{
        pst = conexao.prepareStatement(sql);
        pst.setString(1, textLogin.getText());
        pst.setString(2, textSenha.getText());
        rs = pst.executeQuery();

        if(rs.next()){
            TelaOpcoes telaopcoes = new TelaOpcoes();
            telaopcoes.setVisible(true);
            dispose();      
        }
        else{
            JOptionPane.showMessageDialog(null, "Usuário e Senha Inválidos");
        }

    }

    catch(SQLException error){
        JOptionPane.showMessageDialog(null, error);

    }
}


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

/**
 * Create the frame.
 */
public TelaPrincipal() throws ClassNotFoundException {

    conexao = BancoDeDados.conecta();
    this.setLocationRelativeTo(null);

它在倒数第二行“CONEXAO = BANCODEDADOS.CONECTA(); ”上执行错误,表示“类型不匹配:无法从 boolean 值转换为连接” 有人可以帮我吗?谢谢!

最佳答案

CONEXAO = BANCODEDADOS.CONECTA();

这里CONEXAO是一个连接变量

但是方法 BANCODEDADOS.CONECTA();返回一个 boolean 值。

所以改变变量CONEXAO的类型

或者创建一个新的变量 boolean 类型来存储结果 boolean conexao = BancoDeDados.conecta();

关于Java MySQL和JFrame连接 "Cannot convert from boolean to connection",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30930084/

相关文章:

java - 在 Java 中从 JSON 文件中检索特定字段

java - 泽西 (REST) 子资源 CDI

java - 尝试安装 Matlab Compiler Runtime 时出现 JRE 错误

java - 如何获取 res.drawable 文件夹的路径以复制文件?

android - 如何在Android中打开原始文件夹中的文件

android - 展开多级 ExpandableListView 的问题

mysql - 如何在 MySQL 中使用循环法为用户分配潜在客户

java - 从文件中读取数组。 (java)

php - 为什么这段代码会失败?类似mysql的问题

php - 同时提交多个查询mysql两次插入相同的id