📄 studentquery.java
字号:
package scoremis;
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.awt.event.*;
public class StudentQuery extends JFrame
{
String sql="",sf="";
public StudentQuery(String xm,String xh,String xb,Date sr,String bj,String sf)//处理editSTU类中的有参构造方法StudentQuery(xm1,xh1,xb1,sr1,bj1,"teacher")
{
try
{
sid=xh;
sname=xm;
ssex=xb;
sbrith=sr;
sclass=bj;
SID.setText(xh);
Sname.setText(xm);
sex.setText(ssex);
sgreade.setText(sclass);
this.sf=sf;
jbInit();
}
catch(Exception exception)
{
exception.printStackTrace();
}
}
public StudentQuery(String xm,String xh)
{
try
{
sid=xh;
sname=xm;
edit.setEnabled(false);
jbInit();
}
catch(Exception exception)
{
exception.printStackTrace();
}
}
private void jbInit() throws Exception
{
getContentPane().setLayout(null); //设置布局管理器的布局方式为空布局null
jLabel1.setFont(new java.awt.Font("宋体",Font.PLAIN,20));//初始化各种组件
jLabel1.setToolTipText(""); //
photo.setBorder(BorderFactory.createLineBorder(Color.black));
photo.setText("暂无照片");
brith.setBounds(new Rectangle(160,215,239,25));
photo.setBounds(new Rectangle(308,79,89,120));
SID.setBounds(new Rectangle(160,78,115,26));
sgreade.setBounds(new Rectangle(160,175,115,25));
Sname.setBounds(new Rectangle(160,109,114,27));
sex.setBounds(new Rectangle(160,141,115,27));
jLabel1.setBounds(new Rectangle(141,24,192,38));
quit.setBounds(new Rectangle(276,257,83,25));
edit.setBounds(new Rectangle(129,257,83,25));
jLabel2.setBounds(new Rectangle(93,82,42,15));
jLabel3.setBounds(new Rectangle(93,114,42,18));
jLabel4.setBounds(new Rectangle(93,146,42,15));
jLabel6.setBounds(new Rectangle(93,178,42,15));
jLabel5.setBounds(new Rectangle(93,220,68,15));
this.getContentPane().add(jLabel1);//添加各种组件
this.getContentPane().add(jLabel2);
this.getContentPane().add(SID);
this.getContentPane().add(jLabel3);
this.getContentPane().add(Sname);
this.getContentPane().add(jLabel4);
this.getContentPane().add(sex);
this.getContentPane().add(jLabel6);
this.getContentPane().add(sgreade);
this.getContentPane().add(jLabel5);
this.getContentPane().add(brith);
this.getContentPane().add(photo);
this.getContentPane().add(edit);
this.getContentPane().add(quit);
edit.addActionListener(new ActionListener()//为 保存按钮添加监视器
{
public void actionPerformed(ActionEvent e)
{
dbconn db=new dbconn();
String sxh=SID.getText();
String sxm=Sname.getText();
String sxb=sex.getText();
String sbj=sgreade.getText();
String ssr=brith.getText();
sql="Update student set ID='"+sxh+"',name='"+sxm+"',sex='"+sxb+"',brithday=#"+ssr+"#,greade='"+sbj+"' where ID='"+sid+"' and name='"+sname+"' and sex='"+ssex+"' and brithday=#"+sbrith+"# and greade='"+sclass+"'";
int i=db.Update(sql);//执行sql语句并根据执行结果,弹出相应的信息
if(i>0)
JOptionPane.showMessageDialog(null,"修改成功");
else
JOptionPane.showMessageDialog(null,"修改失败");
}
});
quit.addActionListener(new ActionListener()//为退出按钮添加监视器
{
public void actionPerformed(ActionEvent e)
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//执行退出操作
}
});
sql="select * from student where ID='"+sid+"' and name='"+sname+"'";
ResultSet rs=null;//设数据集为空
try
{
String zp="";
dbconn db=new dbconn();//重新建立连接
rs=db.Query(sql);//数据集执行相应的sql语句,查询相应的记录
if(rs.next())//如果是学生,则是各个组件为不可用状态
{
SID.setText(rs.getString("ID"));
SID.setEditable(false);
Sname.setText(rs.getString("name"));
Sname.setEditable(false);
sex.setText(rs.getString("sex"));
sex.setEditable(false);
brith.setText((rs.getDate("brithday")).toString());//将数据集中brithday项转换为字符串类型在brith文本框中显示
brith.setEditable(false);
sgreade.setText(rs.getString("greade"));
sgreade.setEditable(false);
zp=rs.getString("photo");
if(!zp.equals(""))
photo.setIcon(new ImageIcon(zp));
}
if(sf.equals("teacher"))//如果是老师,则各个组件为可用状态
{
SID.setEditable(true);
Sname.setEditable(true);
sex.setEditable(true);
brith.setEditable(true);
sgreade.setEditable(true);
}
db.close();//关闭连接
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
JLabel jLabel1=new JLabel("学生基本信息");
JLabel jLabel2=new JLabel("学号");
JTextField SID=new JTextField();
JLabel jLabel3=new JLabel("姓名");
JTextField Sname=new JTextField();
JLabel jLabel4=new JLabel("性别");
JTextFiled sex=new JTextFiled();
JLabel jLabel5=new JLabel("出生日期");
JTextFiled brith=new JTextFiled();
JLabel jLabel6=new JLabel("班级");
JTextField sgreade=new JTextField();
JLabel photo=new JLabel(new ImageIcon());
JButton edit=new JButton("保存");
JButton quit=new JButton("退出");
String sid,sname,ssex,sclass;
Date sbrith;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -