线程“ AWT-EventQueue-0”中的异常java.lang.ClassCastException:类net.ucanaccess.jdbc.UcanaccessPreparedStatement无法转换为com.mysql.jdbc.PreparedStatement类(net.ucanaccess.jdbc.UcanaccessPreparedStatement和com.mysql.jdbc .PreparedStatement在hamody.NewJFrame.jButton1ActionPerformed(NewJFrame.java:115)的hamody.NewJFrame $ 1.actionPerformed(NewJFrame.java:66)的加载程序'app'的未命名模块中。
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);
}
}
这行似乎是罪犯:
pst = (PreparedStatement) connection.prepareStatement("insert into user ( username ,password ) values( ?,? )") ;
你为什么要把这个投给(PreparedStatement)
?connection.prepareStetement
应该PreparedStatement
已经给您提供了,不需要转换。调查您的进口。我的猜测是,您会在那儿找到一条看起来像import com.mysql.jdbc.PreparedStatement
或的线import com.mysql.jdbc.*
。删除它,并删除不必要的演员表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句