Java JTable未连接到MS Access数据库

Java JTable未连接到MS Access数据库,java,sql,ms-access,Java,Sql,Ms Access,我正在尝试将数据库中的记录加载到EclipseIDE中的JTable,以便捕获用户输入,在数据库上执行基本的CRUD操作。目前,我有多个已成功连接的表,并且正在加载数据。但是,我的一个表拒绝加载任何记录,当我尝试执行插入查询时,出现以下错误: net.ucanaccess.jdbc.UcanaccessSQLException:UCAExc:::5.0.0-SNAPSHOT 用户缺少权限或找不到对象:语句中的DATARATE [插入tblRAM(拉姆名称、价格、评级、说明、数据率) 值(?,,,

我正在尝试将数据库中的记录加载到EclipseIDE中的JTable,以便捕获用户输入,在数据库上执行基本的CRUD操作。目前,我有多个已成功连接的表,并且正在加载数据。但是,我的一个表拒绝加载任何记录,当我尝试执行插入查询时,出现以下错误:

net.ucanaccess.jdbc.UcanaccessSQLException:UCAExc:::5.0.0-SNAPSHOT 用户缺少权限或找不到对象:语句中的DATARATE [插入tblRAM(拉姆名称、价格、评级、说明、数据率) 值(?,,,?,?)]

代码如下:

        btnAdd.addActionListener(new ActionListener() 
        {
            public void actionPerformed(ActionEvent arg0) 
            {
                //Gets the input from the text and combo boxes:
                String s1, s2, s3, s4, s5;
                s1 = txtRAMName.getText();
                s2 = txtPrice.getText();
                s3 = txtRating.getText();
                s4 = txtDescription.getText();
                s5 = (String) dataRate.getSelectedItem();              

                //A confirmation dialogue pane is created with a yes or no option. Determines if the code runs any further:
                int dialogueResult = JOptionPane.showConfirmDialog(null, "Do you want to add this record?", "Confirmation", JOptionPane.YES_NO_OPTION);
                
                if(dialogueResult == JOptionPane.YES_OPTION)
                {
                    try
                    {
                        //Connects to the database:
                        Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
                        con = DriverManager.getConnection("jdbc:ucanaccess://E:/Documents/School/IT/2020 PAT Database.accdb");  
                        //Insert SQL statement that inserts the respective values. 
                        pst = con.prepareStatement("insert into "+className+" (RAMName, Price, Rating, Description, DataRate) values(?,?,?,?,?)");
                        pst.setString(1, s1);
                        pst.setString(2, s2);
                        int rating = Integer.parseInt(s3);
                        //Ensures the Rating variable is between 1 and 10:
                        if(rating<=10 && rating>=1)
                            pst.setInt(3, rating);
                        pst.setString(4, s4);
                        pst.setString(5, s5);
                        pst.executeUpdate(); 
                        //Confirms that a Record is added:
                        JOptionPane.showMessageDialog(null, "Record Added");
                        //Runs the tableUpdate method to show the new record added:
                        tableUpdate();
                        //Resets the text box fields
                        txtRAMName.setText("");
                        txtPrice.setText("");
                        txtRating.setText("");
                        txtDescription.setText("");
                        txtRAMName.requestFocus();
                    } 
                    //Exception handling for ClassNotFoundException and SQLException:
                    catch (ClassNotFoundException e)
                    {
                        e.printStackTrace();
                        JOptionPane.showMessageDialog(null, "Class Not Found\n"+e);
                    } 
                    catch (SQLException e)
                    {
                        e.printStackTrace();
                        JOptionPane.showMessageDialog(null, "Invalid input\n"+e);
                    }
                }
            }
        });
        btnAdd.setBounds(10, 545, 175, 42);
        panel.add(btnAdd);```
btnAdd.addActionListener(新ActionListener()
{
已执行的公共无效操作(操作事件arg0)
{
//从文本框和组合框获取输入:
串s1、s2、s3、s4、s5;
s1=txtRAMName.getText();
s2=txtPrice.getText();
s3=txtRating.getText();
s4=txtDescription.getText();
s5=(字符串)数据速率。getSelectedItem();
//将创建带有“是”或“否”选项的确认对话框窗格。确定代码是否继续运行:
int dialogueResult=JOptionPane.showConfirmDialog(null,“是否要添加此记录?”,“确认”,JOptionPane.YES\u NO\u选项);
如果(dialogueResult==JOptionPane.YES\u选项)
{
尝试
{
//连接到数据库:
类forName(“net.ucanaccess.jdbc.UcanaccessDriver”);
con=DriverManager.getConnection(“jdbc:ucanaccess://E:/Documents/School/IT/2020 PAT Database.accdb”);
//插入插入相应值的SQL语句。
pst=con.prepareStatement(“插入“+className+”(RAMName,Price,Rating,Description,DataRate)值(?,,,,,?)”;
pst.设置管柱(1,s1);
pst.设置管柱(2,s2);
int rating=Integer.parseInt(s3);
//确保评级变量介于1和10之间:
如果(额定值=1)
pst.setInt(3,额定值);
pst.固定管柱(4,s4);
pst.固定管柱(5,s5);
pst.executeUpdate();
//确认已添加记录:
showMessageDialog(null,“添加记录”);
//运行tableUpdate方法以显示添加的新记录:
tableUpdate();
//重置文本框字段
txtRAMName.setText(“”);
txtPrice.setText(“”);
txtRating.setText(“”);
txtDescription.setText(“”);
txtRAMName.requestFocus();
} 
//ClassNotFoundException和SQLException的异常处理:
catch(classnotfounde异常)
{
e、 printStackTrace();
showMessageDialog(null,“找不到类\n”+e);
} 
捕获(SQLE异常)
{
e、 printStackTrace();
showMessageDialog(null,“无效输入\n”+e);
}
}
}
});
btnAdd.挫折(10545175,42);
面板。添加(btnAdd)```

该表似乎没有列数据速率。我仔细检查了我的MS Access数据库,确实有@这个表似乎没有列数据速率。我仔细检查了我的MS Access数据库,确实有@贾尔赫