这篇解决任务8.2。
任务8.2
理解
任务8.2的题目是修改“任务5”的程序,实现对结果集中任意行、任意列的修改操作。
我的理解就是需要用到
这一页的知识,学会灵活使用for update和where current of,然后根据自己的代码灵活变通
正文
这个任务说简单可以做的简单,但是也可以做的比较麻烦,我想尽善尽美一点,所以做的就比较麻烦。
思路:
我的思路是,在最开始JFrame的右侧新增一个Button“任意行列修改”,实现对应的点击事件。这个点击之后会跳转到一个新的JFrame,这个新的JFrame中间是一个和最外侧JFrame的表格一样的DefaultTableModel,存放表的数据,然后下面给有一个Button“确定”,我们在这个页面修改任意行任意列的一个单元格(请注意,我的实现方式只能修改一个单元格)之后,保持选中的时刻,然后点击确定,对应的点击事件就是执行相应的sql语句(myUpdate里面的setcolumn就是通过column的值动态改变对应的列的名字)。
然后完成之后会提示你修改了多少行,然后跳转到最开始的JFrame,这里的数据会自动修改成刚才修改操作之后的数据。
中间遇到了挺多困难,主要困难就是如何得到修改的单元格的行列数和对应的值,这个通过
int row=table1.getSelectedRow();
int column=table1.getSelectedColumn();
String cellvalue=(String)defaultTableModel1.getValueAt(
row,column);
解决。
总结
不难,慢慢写就行了。