Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-使用SQLite数据库填充JCombobox_Java_Database_Swing_Sqlite_Jcombobox - Fatal编程技术网

Java-使用SQLite数据库填充JCombobox

Java-使用SQLite数据库填充JCombobox,java,database,swing,sqlite,jcombobox,Java,Database,Swing,Sqlite,Jcombobox,我想用数据库列(SQLite)填充JComboBox 我的数据库连接是通过另一个包中名为DatabaseConnection setup的类设置的 下面是它的样子 import java.sql.*; import javax.swing.JOptionPane; public class DatabaseConnection { Connection conn = null; public static Connection ConnectDB() { try {

我想用数据库列(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))”处显示以下错误:

此行有多个标记
-类型安全性:方法addItem(Object)属于原始类型JComboBox。对泛型类型JComboBox的引用应为
参数化
-无法解析comboAccountName

请帮忙

我不太确定你在期待什么


  • statJCBaccountname
    甚至不在您提供的代码示例中,但编译器表示变量未定义
  • DatabaseConnection
    类中没有
    createStatement
    这样的方法
您需要在程序编译之前解决这些问题。我建议你远离YouTube教程,除非你认识作者


查看更多详细信息…

抱歉,已更正。statJCBaccountname是我语句的名称。
statJCBaccountname
但它是什么类型的?它是未定义的,以前从未声明过这是我看到的视频。他只是在我写statJCBaccountname的地方写stat,好吧,我通过在statJCBaccountname前面添加连接修复了它。但是错误仍然存在于rsjcbaccountname上。第一个不需要太多担心,第二个与所有其他变量几乎相同,您没有声明变量
comboAccountName
Unrelated:请学习java命名约定并遵守它们。
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