java - 我不能在构造函数之外使用数据库连接,为什么?

标签 java mysql netbeans

为什么我不能在构造函数外执行查询?我不能使用我在构造函数中声明的变量。为什么不?我是否必须将数据库连接放在带参数的方法中?

public class main extends javax.swing.JFrame
{
    DefaultListModel model = new DefaultListModel();

    public main()
    {
        initComponents();
        try
        {
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost/project", "root", "password");
            Statement stat = con.createStatement();
            ResultSet resultaat = stat.executeQuery(query);

            while (resultaat.next())
            {
                model.addElement(resultaat.getString(2));
            }
        }
        catch (Exception ex)
        {
            System.out.println(ex);
        }
    }
}

最佳答案

con 在您的构造函数范围内。使用

连接控制;

作为类变量并在构造函数中

con = DriverManager.getConnection("jdbc:mysql://localhost/project","root","password");

只用这个。对所需变量执行相同操作。您需要在整个类(class)中使用它。

关于java - 我不能在构造函数之外使用数据库连接,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13824640/

相关文章:

java - 从 netbeans GUI 中的组合框获取值

java - 如何检查NetBeans 12.2中运行的maven版本?

java - Symfony2 Assets :dump | error Output: "The system cannot find the path specified"

mysql - UNHEX 和 X (MySQL) 的区别

java - 如何通过 Eclipse IDE 运行具有 Java 命令的脚本,以便我看到输出并与程序交互?

php - 使用浏览器提示下载文件

mysql - 嗯,为什么通过 '2' 或 '2' 查找返回相同的记录?

java - 当我使用 Windows Builder Swing 设计器时,无法在 NetBeans 中编辑 java 源代码(旧方式)

java - 在 chrome 上加载应用程序后 IE 没有响应,但工作正常

java - 参数未在 POST 方法 REST Java 中传递