gpt4 book ai didi

java - 比较表行,防止重复

转载 作者:行者123 更新时间:2023-12-01 12:13:08 24 4
gpt4 key购买 nike

我正在尝试将行从一个表添加到另一个表,还有日期选择器,我想检查日期是否匹配。

int i=jTable1.getSelectedRow();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
jXDatePicker1.setFormats(dateFormat);
String date = dateFormat.format(jXDatePicker1.getDate()).toString();
String c1=jTable1.getValueAt(i, 0).toString();
String c2=jTable1.getValueAt(i, 1).toString();
String c3=jTable1.getValueAt(i, 2).toString();
String c4=jTable1.getValueAt(i, 3).toString();
String c5=price.getText().toString();
String c6=jTextField1.getText().toString();
String c7=date;
model.addRow(new Object[]{c1, c2, c3, c4, c5, c6, c7});
jTable2.setModel(model);
while(jTable2.getRowCount()>1) {
for (int k = 0; k < jTable2.getRowCount(); k++) {
if (c7.equals(jTable2.getValueAt(k, 6).toString())) {
}
JOptionPane.showMessageDialog(null, "Record exist");
model.removeRow(jTable2.getRowCount()-1);
return;
}
}

即使日期不同,它也会引发错误:

enter image description here

似乎没有任何效果我尝试比较 ids 而不是日期

while(jTable2.getRowCount()>1) {
for (int k = 0; k < jTable2.getRowCount(); k++) {
int t1=Integer.parseInt(jTable2.getValueAt(k, 0).toString());
if (c1==t1) {
JOptionPane.showMessageDialog(null, "Record exist");
model.removeRow(jTable2.getRowCount()-1);
return;
}
}
}

将这两个值解析为 int 仍然没有任何结果。我的循环不起作用

最佳答案

我认为您的 if 语句没有执行上述任何操作。

否则,不要将两个日期作为字符串进行比较,而是将它们设为日期然后进行比较。

只需更改这些行:

Date date = dateFormat.parse(jXDatePicker1.getDate().toString());
//your code
Date c7=date;

然后你的 if 语句应该是:

Date rowDate= dateFormat.parse(jTable2.getValueAt(k, 6).toString());

if (c7.compareTo(rowDate)==0) { //the two dates are equal
JOptionPane.showMessageDialog(null, "Record exist");
model.removeRow(jTable2.getRowCount()-1);
return;
}

关于java - 比较表行,防止重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27172559/

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