我正在做一个餐饮项目招聘服务的项目。他们希望保存客户租用物品的日期和时间,同时保存客户退货的日期和时间。当然,任何那些在运动日期或时间都没有实际意义的人。首先,我试图找到保存任何日期和时间。其他活动将在以后讨论。所以我想出了一张小桌子。如下所示。
ID | Name | Value | Date | Time
(int) | (Varchar) |( Double) | (DateTime) | (DateTime)
我用这根线来保存数据。
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt)
{
String date=new SimpleDateFormat("yyyy-MM-dd").format(dat.getDate());
String time = String.valueOf(dateSpinner.getValue()).split(" ")[3];
try {
new JDBC().putData("INSERT INTO work (name, balance, date) VALUES ('"+txtName.getText()+"',"+txtValue.getText()+"', '"+date+"', '"+time+"') ");
JOptionPane.showMessageDialog(null, "value saved");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, this.getClass().getName() +" "+e);
}
}
当我输入数据时,我正在
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 3" .
帮我查找此电源线的错误并随时保存。实际上我可以使用String Date变量保存任何日期。在我将时间字段添加到表之前,我保存了一些演示数据。但是当我想节省时间时,我遇到了这个问题。我使用日期微调器来节省时间。但我无法将其格式化为HH-mm--ss
。如果您知道另一个节省时间的功能,请告诉我。请帮我。
答案 0 :(得分:1)
这一行:
String time = String.valueOf(dateSpinner.getValue()).split(" ")[3];
与此相同,只需在一行上完成
String[] splitArr = String.valueOf(dateSpinner.getValue()).split(" ");
String time = splitArr[3];
您得到的错误是分割数组中没有4个元素。输入下面的代码来调试你得到的内容,这样你就知道在那一行中发生了什么
String[] splitArr = String.valueOf(dateSpinner.getValue()).split(" ");
for(int i = 0; i < splitArr.length; i++)
{
System.out.println("Element number " + i + " is \"" + splitArr[i] + "\"");
}
然后您可以适当更新插页。抱歉,我无法获得更多帮助,但我们不知道datespinner
是什么或datespinner.getValue()
返回什么,所以请按照以上步骤来帮助调试代码。