jdbc修改数据库里面的内容怎么不成功呀,有没有给我报错

jiaojiaozhe0101 2012-10-30 12:00:03
import java.awt.*;
import java.awt.event.*;
import java.sql.*;

import javax.swing.*;

public class StudentUpDialog extends JDialog implements ActionListener{
JLabel jl1,jl2,jl3,jl4,jl5,jl6;
JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6;
JButton jb1,jb2;
JButton add,cancel;
public StudentUpDialog(Frame frame,String title,boolean flag,StudentModel model,int index){
super(frame,title,flag);
this.setLayout(new BorderLayout());
JPanel p1 = new JPanel(new GridLayout(6,1,4,4));
jl1 = new JLabel("编号:",JLabel.CENTER);
jl2 = new JLabel("姓名",JLabel.CENTER);
jl3 = new JLabel("性别:",JLabel.CENTER);
jl4 = new JLabel("年龄:",JLabel.CENTER);
jl5 = new JLabel("籍贯:",JLabel.CENTER);
jl6 = new JLabel("部门:",JLabel.CENTER);
p1.add(jl1);p1.add(jl2);p1.add(jl3);
p1.add(jl4);p1.add(jl5);p1.add(jl6);
this.add(BorderLayout.WEST,p1);
JPanel p2 = new JPanel(new GridLayout(6,1,4,4));
jtf1 = new JTextField(10);
jtf1.setEditable(false);
jtf1.setText((String)model.getValueAt(index,0));
jtf2 = new JTextField(10);
jtf2.setText((String)model.getValueAt(index, 1));
jtf3 = new JTextField(10);
jtf3.setText((String)model.getValueAt(index,2));
jtf4 = new JTextField(10);
jtf4.setText(model.getValueAt(index, 3).toString());
jtf5 = new JTextField(10);
jtf5.setText((String)model.getValueAt(index, 4));
jtf6 = new JTextField(10);
jtf6.setText((String)model.getValueAt(index,5));
p2.add(jtf1);p2.add(jtf2);p2.add(jtf3);
p2.add(jtf4);p2.add(jtf5);p2.add(jtf6);
this.add(BorderLayout.CENTER,p2);
JPanel p3 = new JPanel();
add = new JButton("修改");
add.addActionListener(this);
cancel = new JButton("取消");
cancel.addActionListener(this);
p3.add(add);
p3.add(cancel);
this.add(BorderLayout.SOUTH,p3);
this.setSize(300,250);
this.setLocation(200,300);
//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);


}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == add){
Connection ct = null;
PreparedStatement ps = null;
ResultSet rs = null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ct = DriverManager.getConnection("Jdbc:Odbc:mytest");
String sql= "update stu set stuName=?,stuSex =?,stuAge =?," +
"stuJg =?,stuDeptno =? where stuId = ?";
ps = ct.prepareStatement(sql);
ps.setString(2,jtf2.getText());
ps.setString(3,jtf3.getText());
ps.setInt(4,Integer.parseInt(jtf4.getText()));
ps.setString(5,jtf5.getText());
ps.setString(6,jtf6.getText());
ps.setString(1,jtf1.getText());
System.out.println(ps.executeUpdate());
if(ps.executeUpdate() == 1){
System.out.println("修改成功");

}
this.dispose();
}catch(Exception ee){
ee.printStackTrace();
}finally{
try{
if(ps != null) ps.close();
if(ct != null) ct.close();
}catch(Exception es){
es.printStackTrace();
}
}

}else if(e.getSource() == cancel){
this.dispose();
}

}


}
...全文
98 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
forgetsam 2012-10-30
  • 打赏
  • 举报
回复
你连编号都没对上,上哪里去修改。

String sql= "update stu set stuName=?,stuSex =?,stuAge =?," +
"stuJg =?,stuDeptno =? where stuId = ?";

stuId 是第六个,ps.setString(6,编号的值);
其余一个一个去对。

62,614

社区成员

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

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