怎样在JTable中修改数据,并写回数据库 代码如下

lzjwjs 2012-09-16 03:05:01

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class ModifyRecord extends JDialog implements ActionListener{
JTable table;
Object a[][];
Object name[]={"学号","姓名","性别","当选日期","职位","系号","班级","班主任","系名","系主任"};
JButton showRecord,Button1;
Connection con;
Statement sql;
ResultSet rs;
String num;
JTextField inputNumber;
public ModifyRecord(String title)
{ setTitle(title);
showRecord=new JButton("换届");
Button1=new JButton("确定");
showRecord.addActionListener(this);
Button1.addActionListener(this);
add(showRecord,BorderLayout.NORTH);
add(Button1,BorderLayout.SOUTH);
setBounds(200,60,680,250);
}
public void actionPerformed(ActionEvent e){
try{ con=DriverManager.getConnection("jdbc:odbc:System","sa","sa");
sql=con.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=sql.executeQuery("SELECT * FROM View_1");
rs.last();
int lastNumber=rs.getRow();
a=new Object[lastNumber][10];
int k=0;
rs.beforeFirst();
while(rs.next()){ //从数据库取出的数据显示在Jtable中了
a[k][0]=rs.getString(1);
a[k][1]=rs.getString(2);
a[k][2]=rs.getString(3);
a[k][3]=rs.getString(4);
a[k][4]=rs.getString(5);
a[k][5]=rs.getString(6);
a[k][6]=rs.getString(7);
a[k][7]=rs.getString(8);
a[k][8]=rs.getString(9);
a[k][9]=rs.getString(10);
k++;
}
con.close();
}
catch(SQLException ee){
System.out.println(ee);
}
table=new JTable(a,name);
getContentPane().removeAll();
add(showRecord,BorderLayout.NORTH);
add(Button1,BorderLayout.SOUTH);
add(new JScrollPane(table),BorderLayout.CENTER);
validate();
if(e.getSource()==Button1)//修改数据后按确定后要怎么写回数据库 下面的代码没实现
{
try{ num=inputNumber.getText().trim();
con=DriverManager.getConnection("jdbc:odbc:System","sa","sa");
sql=con.createStatement();
sql.executeUpdate
("UPDATE StudentInfo SET 学号='"+a[0][0]+
"' ,姓名='"+a[0][1]+
"' ,性别='"+a[0][2]+
"' ,当选日期='"+a[0][3]+
"',职位='"+a[0][4]+
"',系号='"+a[0][5]+
"',班级='"+a[0][6]+
"'" +"WHERE 学号='"+num+"' UPDATE ClassInfo SET 班主任='"+a[0][7]+"'" +"WHERE 班级='"+a[0][6]+"' UPDATE DepartmentInfo SET 系名='"+a[0][8]+"',系主任='"+a[0][9]+"'");
JOptionPane.showMessageDialog
(this,"修改成功","成功",JOptionPane.PLAIN_MESSAGE);
con.close();
}
catch(SQLException ee){
JOptionPane.showMessageDialog
(this,"修改失败"+ee,"失败",JOptionPane.ERROR_MESSAGE);
}
}
}
}
...全文
72 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧