小白学韩老师的满汉楼项目出现问题无法解决,求大神帮着看看

麻杆子 2017-02-18 11:27:06
// EmpInfo.java添加功能
else if(arg0.getSource()==p4_jb2){
// System.out.println("点击了添加");
new EmpAddDialog(this, "添加员工", true);
//重新在获得新的数据模型
//构建新的数据模型类,并更新
//更新JTable
String sql="select *from rszl where 1=?";
String []paras={"1"};
em=new EmpModel();
em.query(sql, paras);
jtable.setModel(em);


	// EmpAddDialog.java构建函数
public EmpAddDialog(EmpInfo owner,String title,boolean modal){
super();
jp1=new JPanel();
jp1.setLayout(new GridLayout(4, 1));

jl1=new JLabel("员工号");
jl2=new JLabel("姓名");
jl3=new JLabel("性别");
jl4=new JLabel("职位");
jp1.add(jl1);
jp1.add(jl2);
jp1.add(jl3);
jp1.add(jl4);

jp2=new JPanel();
jp2.setLayout(new GridLayout(4, 1));
jtf1=new JTextField(20);
jtf2=new JTextField(20);
jtf3=new JTextField(20);
jtf4=new JTextField(20);
jp2.add(jtf1);
jp2.add(jtf2);
jp2.add(jtf3);
jp2.add(jtf4);

jp3=new JPanel();
jb1=new JButton("确认");
jb1.addActionListener(this);
jb2=new JButton("取消");
jp3.add(jb1);
jp3.add(jb2);

this.add(jp1,"West");
this.add(jp2,"East");
this.add(jp3,"South");

//展现
this.setSize(300,200);
this.setVisible(true);
}


@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb1){
//希望添加
EmpModel temp=new EmpModel();
String sql="insert into rszl values (?,?,?,?)";
String[] paras={jtf1.getText(),jtf2.getText(),jtf3.getText(),jtf4.getText()};

if(!temp.updEmp(sql, paras)){
//提示
JOptionPane.showMessageDialog(this, "添加失败");
}
//关闭对话框
this.dispose();
}
}


	//EmpModel.java 添加学生(增,改)
public boolean updEmp(String sql,String []paras){
boolean b=true;
//创建SqlHelper(如果程序并发性不考虑,可以把SqlHelper做成static)
SqlHelper sh=new SqlHelper();
try {
b=sh.exeUpdate(sql, paras);
} catch (Exception e) {
// TODO: handle exception
}finally{
sh.close();
}
return b;

}


/SqlHelper.java /把增(删改)放在一起
public boolean exeUpdate (String sql,String []paras){
boolean b=true;

try {
//连接数据库
//加载驱动
Class.forName(driver);
//得到连接 127.0.0.1 是要连接的数据库的ip
//1433表示sql server的默认端口(最多65535个)
ct=DriverManager.getConnection(url,user,passwd);
//创建ps与编译语句对象
ps=ct.prepareStatement(sql);
//给ps的问号赋值
for(int i=0;i<paras.length;i++){
ps.setString(i+1, paras[i]);
}
//执行操作
if(ps.executeUpdate()!=1){
b=false;
}

} catch (Exception e2) {
// TODO: handle exception
b=false;
e2.printStackTrace();
}finally{
this.close();
}
return b;
}



为什么第一次点解添加按钮后,数据不跟新,需要点击第二次添加按钮后,数据才能跟新
...全文
109 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,412

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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