【问题标题】:Java - Populate a JCombobox with SQLite databaseJava - 使用 SQLite 数据库填充 JCombobox
【发布时间】:2014-02-24 03:42:08
【问题描述】:

我想用数据库列 (SQLite) 填充 JComboBox。

我的数据库连接是通过另一个包中名为 DatabaseConnection setup 的类设置的。

这是它的样子

import java.sql.*;

import javax.swing.JOptionPane;

public class DatabaseConnection {
Connection conn = null;

public static Connection ConnectDB() {

    try {
        Class.forName("org.sqlite.JDBC");
        Connection conn = DriverManager.getConnection("jdbc:sqlite:database.db");
        JOptionPane.showMessageDialog(null, "Connection Established");
        conn.setAutoCommit(false);
        return conn;
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
        return null;
    }
}
}

在我的 JFrame 类中,我正在创建以下方法,根据 youtube 教程,该方法应该可以工作

public void PopulateJCB()
{
    String queryString = "SELECT DISTINCT [Account Name] FROM main ORDER BY [Account Name]";
    try
    {
        Connection statJCBaccountname = DatabaseConnection.ConnectDB();
        Statement stmt = statJCBaccountname.createStatement();
        ResultSet rsJCBaccountname = stmt.executeQuery(queryString);

        while (rsJCBaccountname.next())
        {
            comboAccountName.addItem(rsJCBaccountname.getString(1));
        }

    catch (SQLException e)
    {
        e.printStackTrace();
    }

}

但它在“comboAccountName.addItem(rsJCBaccountname.getString(1));”处显示以下错误

Multiple markers at this line
- Type safety: The method addItem(Object) belongs to the raw type JComboBox. References to generic type JComboBox<E> should be 
 parameterized
- comboAccountName cannot be resolved

请帮忙!

【问题讨论】:

  • 无关:请学习java命名约定并遵守它们。

标签: java database swing sqlite jcombobox


【解决方案1】:

我不太确定你在期待什么......

  • statJCBaccountname 甚至不在您提供的代码示例中,但编译器说该变量未定义
  • DatabaseConnection类中没有createStatement这样的方法

您需要在程序编译之前解决这些问题。除非您认识作者,否则我建议您远离 YouTube 教程。

查看JDBC Database Access了解更多详情...

【讨论】:

  • 抱歉,已更正。 statJCBaccountname 是我的声明的名称。
  • statJCBaccountname 但它是什么类型的?它是未定义的,以前从未声明过?
  • youtube.com/watch?v=wpbQ0DCFF0M - 这个视频是我看到的。他只是在我写 statJCBaccountname 的地方写 stat
  • 好的,我通过在 statJCBaccountname 前面添加 Connection 来修复它。但错误仍然存​​在于 rsJCBaccountname
  • 第一个不用担心,第二个和其他几乎一样,你没有声明变量comboAccountName
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-23
  • 1970-01-01
相关资源
最近更新 更多