学习Java的同学注意了!!!
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:492139965 我们一起学Java!
练习学的,比较适合新手,数据库可以自己建一个,然后改一下代码就行了。
package xues;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.JTableHeader;
public class Home extends JFrame implements ActionListener{
JScrollPane scpDemo;
JFrame Add;
JTableHeader jth;
JTable tabDemo;
JTextField text,AddName,AddNumber,AddSex,AddAge,AddPost,AddWage,AddJop;
JLabel name,number,age,sex,wage,post,jop;
JButton anShow,anSet,anSelsct,anClear,anAdd,Addyes,Addno;
String SQLname,SQLsex,SQLpost,SQLjop;
String a[]={SQLname,SQLsex,SQLpost,SQLjop};
int SQLnumber,SQLage,SQLwage;
int b[]={SQLnumber,SQLage,SQLwage};
public Home(){
super("学生管理系统");
this.setSize(400,500);
this.setLayout(null);
this.setLocation(400,100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setResizable(false);//钉死
this.text=new JTextField();
this.text.setBounds(10, 20,200, 25);
this.anSelsct=new JButton("查询");
this.anSelsct.setBounds(230,20,70,25);
this.anShow=new JButton("刷新");
this.anShow.setBounds(310,20,70,25);
this.anAdd=new JButton("添加");
this.anAdd.setBounds(20,435,70,25);
this.anSet=new JButton("修改");
this.anSet.setBounds(100,435,70,25);
this.anClear=new JButton("删除");
this.anClear.setBounds(180,435,70,25);
this.scpDemo = new JScrollPane();
this.scpDemo.setBounds(10,50,365,380);
AddName=new JTextField();
AddNumber=new JTextField();
AddAge=new JTextField();
AddSex=new JTextField();
AddPost=new JTextField();
AddWage=new JTextField();
AddJop=new JTextField();
name=new JLabel("姓名");
number=new JLabel("学号");
age=new JLabel("年龄");
sex=new JLabel("性别");
post=new JLabel("职位");
wage=new JLabel("工资");
jop=new JLabel("地点");
Addyes=new JButton("确定");
Addno=new JButton("取消");
//添加窗口的创建
Add=new JFrame();
Add.setTitle("添加");
Add.setSize(350,400);
Add.setLocation(100, 260);
Add.setLayout(new GridLayout(8,2));
Add.add(number);Add.add(AddNumber);
Add.add(name);Add.add(AddName);
Add.add(sex);Add.add(AddSex);
Add.add(age);Add.add(AddAge);
Add.add(post);Add.add(AddPost);
Add.add(wage);Add.add(AddWage);
Add.add(jop);Add.add(AddJop);
Add.add(Addyes); Add.add(Addno);
Addyes.addActionListener(this);
Addno.addActionListener(this);
anAdd.addActionListener(this);
anShow.addActionListener(this);
anSet.addActionListener(this);
anSelsct.addActionListener(this);
anClear.addActionListener(this);
this.scpDemo.getViewport().add(tabDemo);
add(this.scpDemo);
add(this.text);
add(this.anSelsct);
add(this.anShow);
add(this.anAdd);
add(this.anSet);
add(this.anClear);
this.remove(this);//刷新
this.repaint();
try{
// 获得连接
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=people","sa","123456");
// 建立查询条件
String sql="select * from nature";
PreparedStatement pstm = conn.prepareStatement(sql);
// 执行查询
ResultSet rs = pstm.executeQuery();
// 计算有多少条记录
int count = 0;
while(rs.next()){
count++;
}
rs = pstm.executeQuery();
// 将查询获得的记录数据,转换成适合生成JTable的数据形式
Object[][] info = new Object[count][7];
count = 0;
while(rs.next()){
info[count][0] = Integer.valueOf( rs.getInt("number"));
info[count][1] = rs.getString("name");
info[count][2] = rs.getString("sex");
info[count][3] = Integer.valueOf( rs.getInt("age") );
info[count][4] = rs.getString("post");
info[count][5] = Integer.valueOf( rs.getInt("wage"));
info[count][6] = rs.getString("jop");
count++;
}
// 定义表头
String[] title = {"学号","姓名","性别","年龄","职位","工资","地点"};
// 创建JTable
this.tabDemo = new JTable(info,title);
// 显示表头
this.jth = this.tabDemo.getTableHeader();
// 将JTable加入到带滚动条的面板中
this.scpDemo.getViewport().add(tabDemo);
}catch(ClassNotFoundException cnfe){
JOptionPane.showMessageDialog(null,"数据源错误","错误",JOptionPane.ERROR_MESSAGE);
}catch(SQLException sqle){
JOptionPane.showMessageDialog(null,"数据操作错误","错误",JOptionPane.ERROR_MESSAGE);
}
}
chaxun re=new chaxun();
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==(anAdd)){
Add a=new Add(this,"添加学生信息",true);
re=new chaxun();
tabDemo.setModel(re);
}
else if(e.getSource()==(anSelsct)){
String name=this.text.getText().trim();
String sql="select * from nature where name='"+name+"'";
chaxun aa=new chaxun(sql);
tabDemo.setModel(aa);
}
else if(e.getSource()==anShow){
tabDemo.setModel(re);
}
else if(e.getSource()==(anClear)){
int i=this.tabDemo.getSelectedRow();
clear aa=new clear(i);
re=new chaxun();
tabDemo.setModel(re);
}
else if(e.getSource()==anSet){
int j=this.tabDemo.getSelectedRow();
revise a=new revise(this,"修改学生信息",true,re,j);
re=new chaxun();
tabDemo.setModel(re);
}
}
}
package xues;
import javax.swing.UIManager;
import com.l2fprod.gui.plaf.skin.Skin;
import com.l2fprod.gui.plaf.skin.SkinLookAndFeel;
public class main {
public static void main(String args[]){
try {
Skin skin = SkinLookAndFeel.loadThemePack("F://н¨Îļþ¼Ð (2)/Î÷¹Ï/Ƥ·ô");
SkinLookAndFeel.setSkin(skin);
UIManager.setLookAndFeel("com.l2fprod.gui.plaf.skin.SkinLookAndFeel");
}
catch (Exception ex) {
System.out.println("Ì滻Ƥ·ô´íÎó");
}
Home aa=new Home();
//System.out.println("1");
}
}
package xues;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import javax.swing.*;
class Add extends JDialog implements ActionListener{
JTextField AddName,AddNumber,AddSex,AddAge,AddPost,AddWage,AddJop;
JLabel name,number,age,sex,wage,post,jop;
JButton Addyes,Addno;
Connection con=null;
Statement sql=null;
ResultSet rs=null;
String SQLname,SQLsex,SQLpost,SQLjop;
int SQLnumber,SQLage,SQLwage;
Add(Frame fck,String ckm,Boolean msck){
super(fck, ckm,msck);
AddName=new JTextField();
AddNumber=new JTextField();
AddAge=new JTextField();
AddSex=new JTextField();
AddPost=new JTextField();
AddWage=new JTextField();
AddJop=new JTextField();
name=new JLabel("姓名");
number=new JLabel("学号");
age=new JLabel("年龄");
sex=new JLabel("性别");
post=new JLabel("职位");
wage=new JLabel("工资");
jop=new JLabel("地点");
Addyes=new JButton("确定");
Addno=new JButton("取消");
this.add(number);this.add(AddNumber);
this.add(name);this.add(AddName);
this.add(sex);this.add(AddSex);
this.add(age);this.add(AddAge);
this.add(post);this.add(AddPost);
this.add(wage);this.add(AddWage);
this.add(jop);this.add(AddJop);
this.add(Addyes); this.add(Addno);
this.Addyes.addActionListener(this);
this.Addno.addActionListener(this);
this.setSize(350,400);
this.setLocation(100, 260);
this.setLayout(new GridLayout(8,2));
this.setVisible(true);
this.setResizable(false);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==Addyes){
try{
// 获得连接
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=people","sa","123456");
// 建立查询条件
String recode = " insert into nature values(?,?,?,?,?,?,?)";
PreparedStatement input=con.prepareStatement(recode);
SQLnumber=Integer.parseInt(AddNumber.getText());
SQLage= Integer.parseInt(AddAge.getText());
SQLwage= Integer.parseInt(AddWage.getText());
input.setInt(1, SQLnumber);
input.setString(2, AddName.getText());
input.setString(3,AddSex.getText());
input.setInt(4,SQLage);
input.setString(5,AddPost.getText());
input.setInt(6,SQLwage);
input.setString(7,AddJop.getText());
input.executeUpdate();
JOptionPane.showMessageDialog(null, "添加成功");
this.dispose();
}
catch(NumberFormatException nu){
JOptionPane.showMessageDialog(null,"你还没有输入哦","错误",JOptionPane.ERROR_MESSAGE);
}
catch(ClassNotFoundException cnfe){
JOptionPane.showMessageDialog(null,"数据源错误","错误",JOptionPane.ERROR_MESSAGE);
}
catch(SQLException sqle){
JOptionPane.showMessageDialog(null,"数据操作错误","错误",JOptionPane.ERROR_MESSAGE);
}
finally
{
try {
if(rs!=null)
{
rs.close();
}
if(sql!=null)
{
sql.close();
}
if(con!=null)
{
con.close();
}
} catch (Exception e1){}
}
}
if(e.getSource()==Addno){
this.dispose();
}
}
}
package xues;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.table.AbstractTableModel;
class chaxun extends AbstractTableModel {
Vector ziduan,jilu;
Connection con=null;
PreparedStatement sql=null;
ResultSet rs=null;
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return this.ziduan.size();
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
return this.jilu.size();
}
@Override
public Object getValueAt(int hang, int lie) {
// TODO Auto-generated method stub
return ((Vector) this.jilu.get(hang)).get(lie);
}
public chaxun(){
String nul="select * from nature";
this.sqlly(nul);
}
public chaxun(String input){
this.sqlly(input);
}
public String getColumnName(int e){
return (String)this.ziduan.get(e);
}
public void sqlly(String ss){
ziduan=new Vector();
ziduan.add("学号");
ziduan.add("姓名");
ziduan.add("性别");
ziduan.add("年龄");
ziduan.add("职位");
ziduan.add("工资");
ziduan.add("地点");
jilu=new Vector();
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=people","sa","123456");
// 建立查询条件
// sql = "select * from nature";
//sql=con.prepareStatement( " insert into nature values(?,?,?,?,?,?,?)");
sql=con.prepareStatement(ss);
// sql.executeUpdate();
rs=sql.executeQuery();
while(rs.next()){
Vector hang=new Vector();
hang.add(rs.getInt(1));
hang.add(rs.getString(2));
hang.add(rs.getString(3));
hang.add(rs.getInt(4));
hang.add(rs.getString(5));
hang.add(rs.getInt(6));
hang.add(rs.getString(7));
jilu.add(hang);
}
}
catch(NumberFormatException nu){
JOptionPane.showMessageDialog(null,"你还没有输入哦","错误",JOptionPane.ERROR_MESSAGE);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(null,"数据源错误","错误",JOptionPane.ERROR_MESSAGE);
} catch (SQLException e) {
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(null,"数据操作错误","错误",JOptionPane.ERROR_MESSAGE);
}
finally
{
try {
if(rs!=null)
{
rs.close();
}
if(sql!=null)
{
sql.close();
}
if(con!=null)
{
con.close();
}
} catch (Exception e){}
}
}
}
package xues;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
class clear {
chaxun xx;
public clear(int i){
xx=new chaxun();
if(i==-1){
JOptionPane.showMessageDialog(null,"请选中要删除的行");
return;
}
Connection con=null;
PreparedStatement sql=null;
ResultSet rs=null;
Statement sm=null;
String sr=(String) xx.getValueAt(i,1);
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=people","sa","123456");
// 建立查询条件
String cl = "delete from nature where name=?";
sql=con.prepareStatement(cl);
// int ii=Integer.valueOf(sr).intValue();
sql.setString(1,sr);
sql.executeUpdate();
}
catch(Exception e){
e.printStackTrace();
}
finally
{
try {
if(rs!=null)
{
rs.close();
}
if(sql!=null)
{
sql.close();
}
if(con!=null)
{
con.close();
}
} catch (Exception e3){}
}
}
}
package xues;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class revise extends JDialog implements ActionListener {
private JTextField setName,setNumber,setSex,setAge,setPost,setWage,setJop;
private JLabel name,number,age,sex,wage,post,jop;
private JButton Addyes,Addno;
private Connection con=null;
private Statement sql=null;
private ResultSet rs=null;
private String SQLname,SQLsex,SQLpost,SQLjop;
private int SQLnumber,SQLage,SQLwage;
//chaxun xx;
revise(Frame fck,String ckm,Boolean msck,chaxun xx,int j){
super(fck, ckm,msck);
if(j==-1){
JOptionPane.showMessageDialog(null,"请选中要修改的行");
return;
}
//xx=new chaxun();
setNumber=new JTextField(5);
setNumber.setText((String)xx.getValueAt(j,0).toString());
setNumber.setEditable(false);//设置为不能修改,防止出错
setName=new JTextField(5);
setName.setText((String)xx.getValueAt(j,1));
setAge=new JTextField(5);
setAge.setText((String)xx.getValueAt(j,3).toString());
setSex=new JTextField(5);
setSex.setText((String)xx.getValueAt(j,2));
setPost=new JTextField(5);
setPost.setText((String)xx.getValueAt(j,4));
setWage=new JTextField(5);
setWage.setText((String)xx.getValueAt(j,5).toString());
setJop=new JTextField(5);
setJop.setText((String)xx.getValueAt(j,6));
name=new JLabel("姓名");
number=new JLabel("学号");
age=new JLabel("年龄");
sex=new JLabel("性别");
post=new JLabel("职位");
wage=new JLabel("工资");
jop=new JLabel("地点");
Addyes=new JButton("确定");
Addno=new JButton("取消");
this.add(number);this.add(setNumber);
this.add(name);this.add(setName);
this.add(sex);this.add(setSex);
this.add(age);this.add(setAge);
this.add(post);this.add(setPost);
this.add(wage);this.add(setWage);
this.add(jop);this.add(setJop);
this.add(Addyes); this.add(Addno);
this.Addyes.addActionListener(this);
this.Addno.addActionListener(this);
this.setSize(350,400);
this.setLocation(100, 260);
this.setLayout(new GridLayout(8,2));
this.setVisible(true);
this.setResizable(false);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==Addyes){
try{
// 获得连接
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=people","sa","123456");
// 建立查询条件
String recode = " update nature set name=?,sex=?,age=?,post=?,wage=?,jop=? where number=?";
PreparedStatement input=con.prepareStatement(recode);
SQLnumber=Integer.parseInt(setNumber.getText());
SQLage= Integer.parseInt(setAge.getText());
SQLwage= Integer.parseInt(setWage.getText());
// input.setInt(1, SQLnumber);
input.setString(1, setName.getText());
input.setString(2,setSex.getText());
input.setInt(3,SQLage);
input.setString(4,setPost.getText());
input.setInt(5,SQLwage);
input.setString(6,setJop.getText());
input.setInt(7, SQLnumber); //修改的条件
input.executeUpdate();
JOptionPane.showMessageDialog(null, "修改成功");
this.dispose();
}
catch(NumberFormatException nu){
JOptionPane.showMessageDialog(null,"你还没有输入哦","错误",JOptionPane.ERROR_MESSAGE);
}
catch(ClassNotFoundException cnfe){
JOptionPane.showMessageDialog(null,"数据源错误","错误",JOptionPane.ERROR_MESSAGE);
}
catch(SQLException sqle){
sqle.printStackTrace();
JOptionPane.showMessageDialog(null,"数据操作错误","错误",JOptionPane.ERROR_MESSAGE);
}
finally
{
try {
if(rs!=null)
{
rs.close();
}
if(sql!=null)
{
sql.close();
}
if(con!=null)
{
con.close();
}
} catch (Exception e1){}
}
}
if(e.getSource()==Addno){
this.dispose();
}
}
}
学习Java的同学注意了!!!
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:492139965 我们一起学Java!