【发布时间】:2021-04-30 03:30:08
【问题描述】:
我能够插入将数据插入数据库的日期,但是当我尝试提取数据并将其显示在 jDateChooser 中时,它显示了主题所述的错误。为什么?
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.*;
import java.sql.Connection;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import net.proteanit.sql.DbUtils;
import java.util.Date;
这些是我导入的包
private void DisplayTable(){
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3308/java_his_db","root","");
String sql = "select * from reservation";
PreparedStatement ps = con.prepareStatement(sql);
ResultSet res = ps.executeQuery();
jTable_reservation.setModel(DbUtils.resultSetToTableModel(res));
}catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
这是我将数据显示到 jTable 中的私人空白
private void jTable_reservationMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
DefaultTableModel model = (DefaultTableModel)jTable_reservation.getModel();
int rowInd = jTable_reservation.getSelectedRow();
roomID.setText(model.getValueAt(rowInd, 0).toString());
customerID.setText(model.getValueAt(rowInd, 1).toString());
try {
Date selectin = new SimpleDateFormat("yyyy-MM-dd").parse((String)model.getValueAt(rowInd, 3));
jDateChooser_in.setDate(selectin);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
这些是我用来将数据提取到文本字段中的代码。
每当我单击表格中的一行时,catch 异常就会显示上述错误。
java.lang.ClassCastException:类 java.sql.Date 不能转换为 java.lang.String(java.sql.Date 位于加载器“平台”的模块 java.sql 中;java. lang.string 在加载器“boostrap”的模块 java.base 中)
如何解决这个问题?
【问题讨论】:
标签: java mysql date jdbc simpledateformat