JAVA直接从表格中对数据库的数据进行修改和删除,但是数组越界为-1

想要在这个界面中以表格的形式显示出从MYSQL数据库查询出的数据(已实现),并直接在表格中进行删除和修改,按下删除和修改按钮后进行保存。现在就是删除和修改功能没有完成。提... 想要在这个界面中以表格的形式显示出从MYSQL数据库查询出的数据(已实现),并直接在表格中进行删除和修改,按下删除和修改按钮后进行保存。现在就是删除和修改功能没有完成。
提示错误为:Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
求各位大神解决这个问题或者告诉我这两个功能该如何写!多谢!
public void actionPerformed(ActionEvent e){
Object obj = e.getSource();
connection();

Object[] cloum1={"学号","姓名","课程号","课程名","成绩"};
Object[][] row1=new Object[50][5];
table1=new JTable(row1,cloum1);
scrollpane1=new JScrollPane(table1);
jp.add(scrollpane1);
scrollpane1.setBounds(50,50,500,400);
if(obj == b1){
try{
String s1 = tf.getText().trim();
if(list1.getSelectedItem().toString().equals("姓名")){
if(b1.equals(e.getSource())){
for(int i=0;i<50;i++)
for(int j=0;j<5;j++)
table1.setValueAt("", i, j);
ResultSet rs = state.executeQuery( "select grade.学号,姓名,课程号,课程名,成绩 from grade where 姓名 = '"+s1+"'");
int k=-1;
while (rs.next()) {
++k;
String 学号 = rs.getString(1);
……

table1.setValueAt(学号,k,0);
……
}
}
}
}
catch(SQLException e2){……}
}
}
try{
int selectedRowIndex = table1.getSelectedRow(); // 取得用户所选单行
String studentID=row1[selectedRowIndex][0].toString();//获取用户选择的学号//提示错误语句
if(obj == b2){//修改 }
if(obj == b3){//删除 }
}
catch(SQLException e2){…}
}
展开
 我来答
oliverpp
2013-12-01 · TA获得超过988个赞
知道小有建树答主
回答量:686
采纳率:0%
帮助的人:648万
展开全部
查询的语句会写,修改和删除的语句也应该会吧,只不过根据主键去修改删除而已,比如你这里的学生ID
至于获取ID那个单元格的数据,应该用table1.getModel().getValueAt(selectedRowIndex
, 0)).toString();
更多追问追答
追问
那我进行修改,怎么获取我修改后在单元格输入的数据并保存?谢谢~
追答
监听TableModel的tableChanged事件,单元格值改变时候会触发,可以获取那个单元格的位置,这时候可以直接保存入库
实际上一般修改都是选中某行,点“修改”按钮,弹出一个框,在里面修改各种属性,然后点保存,对话框关闭,刷新Table,这样比较符合用户习惯
否则在Table的单元格里不小心输入了什么就会存到数据库,当然也可以在修改之后暂时不入库,单独提供一个“保存”按钮,点击时候才写数据库,但是这样如果用户在点保存之前修改过很多东西,实现上是比较麻烦的
光打字可能不好理解,方便的话可以私信QQ
匿名用户
2013-12-01
展开全部
表格,怎么会在每次的事件中被创建呢。

应该在初始化程序的时候,创建好表格、加载数据。如果要重新加载数据,那是重新设置表格的数据。
追问
不会一开始就把表格创建好,只会这种的……请问您说的那种方法改如何做?能直接写出来大概代码吗?文字的说法我理解很差……谢谢了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式