java中删除一条记录 table.getSelectedRow(), 0).toString());

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中删除一条记录 table.getSelectedRow(), 0).toString());相关的知识,希望对你有一定的参考价值。

public void actionPerformed(ActionEvent arg0)
int[] rows = table.getSelectedRows();
//取得表格行数
for (int i = 0; i < rows.length; i++)
rows[i] = table.convertRowIndexToModel(rows[i]);

if (rows.length < 1)
JOptionPane.showMessageDialog(null, (Object) "请选择行后再删除!");
else
try
int id = Integer.parseInt(table.getValueAt(
table.getSelectedRow(), 0).toString());// 获取删除行的图书id
int type = JOptionPane
.showConfirmDialog(null, "您将要删除 " + rows.length
+ " 行!删除后数据将不可恢复,你真的要删除吗?", "确认删除",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
BooksDao db = new BooksDao();
if (type == JOptionPane.YES_OPTION)
for (int i = rows.length; i > 0; i--) // 注意这个地方要从后往前删

id = Integer.parseInt(table.getValueAt(
table.getSelectedRow(), 0).toString());
// 每次删除一行后,getSelectedRow得到的就是下一行的,之后在进行删除。
if (db.delBookes(id))
JOptionPane.showMessageDialog(null, "删除成功!");
((DefaultTableModel) table.getModel())
.removeRow(table.getSelectedRow());
else
JOptionPane.showMessageDialog(null, "删除失败!");

System.out.println("id: " + id);



catch (NumberFormatException e1)
JOptionPane.showMessageDialog(null, (Object) "所选行为无效行!");






问题
其中::
int id = Integer.parseInt(table.getValueAt(
table.getSelectedRow(), 0).toString());// 获取删除行的图书id
为什么后面是toString前面是int

JTable设计思想,每个cell的MOdel是一个object对象。getSelectedRow返回的是object,你放的是int但是返回也是Integer。

你的做法是把对象编程字符串,再parse为一个int。
int id=((Integer)table.getValueAt(
table.getSelectedRow(), 0).intValue()
也可以
参考技术A Integer.parseInt(table.getValueAt(table.getSelectedRow(), 0).toString());Integer.parseInt(String)是将String类型转换为int类型,需要注意的是String值只能出现数值。

以上是关于java中删除一条记录 table.getSelectedRow(), 0).toString());的主要内容,如果未能解决你的问题,请参考以下文章

oracle删除重复记录保留一条

试图从父实体java类中删除记录

oracle中删除两条相同记录中的一条,该怎么操作?

从实体框架中删除一条记录?

怎么删除ACCESS中的重复记录 只保留一条

一条SQL删除重复记录,重复的只保留一条