gpt4 book ai didi

java - 如何解决这个带有日期的情况?

转载 作者:行者123 更新时间:2023-12-02 05:59:03 26 4
gpt4 key购买 nike

我开发netbeans 8。插入数据时出现日期错误。

我在 jtable 中有日期值。我尝试使用 for 循环插入 jtable 中的行以及 dd-MM-yyyy 格式的 DATE 值。

    try {
for (int i = 0; i < tbcustomer.getRowCount(); i++) {
dateformater = new SimpleDateFormat("yyyy-MM-dd");
sql = "insert into tbcustomerdetail values(?,?,?,?,?,?,?,?,?,?)";
pst = con.prepareStatement(sql);
pst.setString(1, textid.getText());
pst.setString(2, tbcustomer.getValueAt(i, 1).toString());
pst.setString(3, tbcustomer.getValueAt(i, 2).toString());
pst.setString(4, tbcustomer.getValueAt(i, 3).toString());
pst.setString(6, tbcustomer.getValueAt(i, 5).toString());
pst.setString(7, tbcustomer.getValueAt(i, 6).toString());

//Test case 1
// pst.setString(5, dateformater.format(tbcustomer.getValueAt(i, 4)));

//try secode case

// String date=tbcustomer.getValueAt(i, 4).toString();
// Date date1=new SimpleDateFormat("dd-MM-yyyy").parse(date);
// JOptionPane.showMessageDialog(null, date1);
// pst.setString(5, dateformater.format(date1));


pst.setString(8, tbcustomer.getValueAt(i, 7).toString());
pst.setString(9, tbcustomer.getValueAt(i, 8).toString());
pst.setInt(10, 1);
pst.execute();
}

} catch (Exception e) {
e.printStackTrace();
}

此行错误

    com.microsoft.sqlserver.jdbc.SQLServerException: Conversion failed when converting date and/or time from character string.

非常感谢。

最佳答案

更新

可能更好的方法是按照代码中已完成的方式转换为日期,然后使用 setDate 方法

String date = tbcustomer.getValueAt(i, 4).toString();
Date date1=new SimpleDateFormat("dd-MM-yyyy").parse(date);
pst.setDate(5, date1);
<小时/>

改为在sql中进行转换

sql = "insert into tbcustomerdetail values(?,?,?,?, CONVERT(DATE, ?, 105),?,?,?,?,?)";

并按照您收到的方式发送日期字符串

pst.setString(5, tbcustomer.getValueAt(i, 4).toString());

关于java - 如何解决这个带有日期的情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55989705/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com