当前位置: 首页 > 知识库问答 >
问题:

将数据添加到Access数据库时,显示以下错误

商开宇
2023-03-14

线程“AWT-EventQueue-0”java.lang.ClassCastException中的异常:类net.ucanAccess.jdbc.UCANAccessSpreparedStatement无法强制转换为类com.mysql.jdbc.PreparedStatement(net.ucanAccess.jdbc.UCANAccessSpreparedStatement和com.mysql.jdbc.PreparedStatement位于加载器'app'的未命名模块中),位于hamody.newjframe.JButton1ActionPerformed

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
   String   usernames  ;
   usernames = jTextField1.getText();

   try {
      Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");

      String dbURL = "jdbc:ucanaccess://E:/Database410.mdb" ;


      connection = DriverManager.getConnection(dbURL); 

        // Step 2.B: Creating JDBC Statement 
        statement = connection.createStatement();

     pst =  (PreparedStatement) connection.prepareStatement("insert into user ( username ,password ) values( ?,? )") ; 
     pst.setString(1,usernames);
     int b=Integer.parseInt(jTextField2.getText());


     pst.executeUpdate();

     JOptionPane.showMessageDialog(this,"تم الاضافة");


 } catch (ClassNotFoundException ex){
    Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
    JOptionPane.showMessageDialog(this,ex);
 }  catch (SQLException ex) {
        Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
        JOptionPane.showMessageDialog(this,ex);
    }

} 

共有1个答案

郏博瀚
2023-03-14

这句话似乎是一个冒犯者:

pst =  (PreparedStatement) connection.prepareStatement("insert into user ( username ,password ) values( ?,? )") ;

为什么要将其强制转换为(PreparedStatement)Connection.PrepareStetement应该已经提供PreparedStatement,而不需要强制转换。调查一下你们的进口产品。我猜您会在那里找到一行类似于import com.mysql.jdbc.preparedstatementimport com.mysql.jdbc.*的代码。删除它,也删除不必要的强制转换。

 类似资料:
  • 我是< code>sqlite数据库的新手,在我的项目中,我需要在创建数据库后添加数据。我尝试了这种方式,这是我的代码。 公共类主要活动扩展活动 { } 我创建了另一个类来打开sqlite数据库。 公共类MySqlHelper扩展SQLiteOpenHelper{ 公共字符串getBird(int id){ 它给我异常 帮助我避免这种情况,并在创建数据库后立即插入数据。

  • 我忙于一项学校作业,我有一个由三个表组成的基本access数据库。Book、Reader和BookRated,其中as BookRated是交集表,主键userName来自Reader和ISBN来自Book组成BookRated的复合主键(作为外键)。 我正试图将信息插入书签表中,但出现以下错误

  • Access数据库与Microsoft Office Word文档或Microsoft Office PowerPoint并不是相同的文件形式。 相反,Access数据库是像表,表格,报表,查询等对象的集合,它们必须协同工作才能使数据库正常工作。经过学习上一节的示例,我们已经在数据库中创建了两个包含所有必需的字段和字段属性的表。 要在Access中查看,更改,插入或删除表格中的数据,可以使用表格的

  • 而不是这个冗长的消息,我只是想显示“对不起-记录已经存在。” 这可能吗?

  • 我正在Java创建一个航班应用程序,它应该做的事情之一是添加一个新的航班到数据库。我可以添加航班名称没有问题,但我有问题添加航班的座位数到数据库。数据库表被设置为将座席数作为整数值。在我的代码中,将这个值从用户界面添加到数据库的函数将一个值作为整数参数。然后,在添加新航班的实际按钮的事件处理程序代码中,我将值从字符串(这是文本框中接受的字符串)转换为整数,以便将值输入数据库。然而,当我运行我的代码

  • 问题内容: 我在显示从数据库到下拉列表的数据时遇到了困难。 这是我尝试过的: 模型.php Controller.php View.php 但是结果显示在我的页面顶部。它没有出现在下拉列表中。我在这里做错了什么?非常感谢您的帮助。谢谢。 问题答案: 您不应该从视图中调用模型。而是在加载视图之前尝试调用模型和设置。 也不要在模型中回显行结果,除非您希望将其显示在页面上。 控制器: 模型: 视图: