51,412
社区成员
发帖
与我相关
我的任务
分享// 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;
}