简单的java中JTable删除数据后序号移动问题

本文介绍了如何在Java应用中使用JTable删除数据后,实现表格序号的自动更新。通过JTable的getSelectedRow方法选择并删除数据,然后使用纯JDBC操作数据库进行更新。虽然可能存在SQL注入问题,但对于内部小工具,这种方法提供了一种思路。在删除'牛奶'记录后,表格重绘显示为'0 面包 1 方便面',没有使用Hibernate等框架,直接操作的数据库表格名为rr,字段包括wor和num。

尽管这个解决方案可能不是最佳,据一些比较厉害的人说会存在sql注入等等问题,但是作为一个内部小工具,有些思想可供参考

我题目的意思表达尚不清楚,确切来说,我前几天想的是实现这样一个功能。譬如,jtable中现在存在三条数据,0 面包 1牛奶 2方便面。

现在我利用jtable中的getselectedrow方法,将其中的牛奶删除,然后jtable表格实现重绘,出现的数据为 0 面包 1 方便面

这里没有用到什么hibernate等框架,用的是纯jdbc。

所建数据库表格名称为rr,wor及num为其属性

 public int update(String text)//获取要删除数据的序号,譬如1 牛奶的1
{
 GetConn getconn=new GetConn();//获取连接,为了封装,所以连接函数是独立开的
   Connection conn=getconn.getConn();
   int i=0;//i一定是在这里定义的
try{

     String sql="select * from rr where wor='"+text+"'";
Statement stat=conn.createStatement();
ResultSet rs=stat.executeQuery(sql);
while(rs.next())
{
i=rs.getInt("num");//查询后的结果给i赋值
System.out.print(i);//为了检查错误,我习惯性的插入一些输出语句检查中间运行结果是否出错
 }
conn.close();//关闭连接
}catch(Exception e)
{
e.printStackTrace();
}
return i;
}
public void updated(int index)//将要删除的序号传递作为该函数的参数
{
 GetConn getconn=new GetConn();//获取连接
   Connection conn=getconn.getConn();
     try{

     String sql="update rr set num=num-1 where num>'"+index+"'";//实现序号更改
Statement stat=conn.createStatement();
  stat.executeUpdate(sql);
conn.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
主函数调用为:

 new Repaint().updated(new Repaint().update(wor));//主调用,updated及update方法均为Repaint类的方法
主函数调用大概是这个样子,但是实际上应该是先获取int index=new Repaint().update(wor)
然后删除对应元素,然后再去调用updated方法,否则会获取不到wor元素,或者出现num相同的情况,在num为key时会出现错误的。
这个程序可能很简单,所以有什么错误欢迎一起讨论。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值