精华内容
下载资源
问答
  • java学生信息管理系统(附源码)

    万次阅读 多人点赞 2016-07-14 16:36:30
     学生管理系统就完成了  其中的登陆界面是 我借鉴别人的  文中难免有不足之处,恳请批评指正  2016-7-14 再此上传不了附件 所以我给链接去在云盘下载  首次上传 (2017_6_12更新)链接: ...

    一:   介绍

          

      1:实现登录界面

        2:实现主界面

               有两种操作 一种是按钮操作  另外一种是SQL语句。

        3:连接SQL server 2008 数据库,后续我更新了,加了一个MySql 版本。在我的下载链接里面都有,里面也有使用说明。另外*myeclipse和eclipse,            jcreator什么的都是IDE,使用都一样,基本没什么区别,只不过myeclipse更商业化不开源,也就意味着收费,里面集成的插件比较多而已。

               *****************************************************************************************************

               用到的软件及环境SQLserver2008,eclipse,sqljdbc4.jar(数据库驱动包)

               *****************************************************************************************************

               另外一个Mysql 5.7.15.  Myeclipse2015,mysql-connector-java-5.1.34.jar

                 **********************************************************************************************************************

     

               java的JDK环境 (自行安装配置)

                切记:

                另外要新建数据库wtf 和新建学生表student(也可以用你自己创建的数据库及表,不过你得在源代码中进行修改):

                还要导入sqljdbc4.jar

            

        4:实现增删改查  (另有退出和刷新)

    二:    使用

      1:首先导入rjgc包

     

    然后点开browse  找到rjgc  

    最后点击finish

    得到    下图

    加载出来以后可能有的java文件前面有错,因为还没有导入sqljdbc4.jar

    (*******************************************************************************************************************************                    注意,方式一导入jdbc的图是之前我做的时候比较麻烦的一种方式,但是也能达到效果,在后期的我更新的链接资源中,如果导入任意版本源码包的话,都会自动加载lib包以及下面不同版本对应的jdbc连接驱动。这时候你只需要在那个lib文件夹下的.jar 文件上右键点击-->build path--->add to build path,导入jdbc结束。

    方式二导入:贴一张图

    上面这张图是方式二导入的,

    **************************************************************************************************************************)

     

    接下来继续,方式一导入  看下图:

     

     

     

    这时候应该就差不多可以运行了,不过还得把SQLserver2008的(MSSQLSERVER)服务开启了。

    上图

    再回到eclipse界面 打开rjgc

    最后双击LoginIn.java打开代码文本

    运行  就可以出现登录界面  

    在LoginIn.java代码文本里面找到登录用户 和密码后就可以登录了 

    比如admin 123  和wangtangfu 123456      (注意不要多加空格)

    其实用户权限都一样  如果你想加用户权限  可以写两个不同的Qframe.java。要做到主窗口里面的功能不同   ,可以屏蔽一些按钮

    比如修改  增加  等功能。然后在不同用户登陆的时候调用不同的Qframe.java,这样应该可以实现权限问题。。。

     

    2:

    还有程序里面应运了一些图片,它们的位置路径位置可能不一样 ,自行参照代码理解修改(很容易的哟);

     

    三:程序运行截图

       登陆窗口

     主窗口

    SQL语句执行  比如select * from student  

    刷新按钮:

    增加按钮:

                                                                                                                                                         添加成功之后刷新即可:

    删除按钮:

    修改按钮:

    查询按钮

     

     

    至此  

          学生管理系统就完成了   

               其中的登陆界面是 我借鉴别人的  

                   文中难免有不足之处,恳请批评指正

                                                                                                                                       2016-7-14

    再此上传不了附件 所以我给链接去在云盘下载 


    首次上传

    (2017_6_12更新)链接: https://pan.baidu.com/s/1aSeKJ8gXxWSElHaTU6_PdA 密码: yqpv

     


    添加myeclipse+mysql 版本:

    (2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k

    (2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k

    (2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k


     


    修改student.sql执行报错 (执行时可以打开偷偷看一眼)

    (2019_04_13更新)链接: https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge

    (2019_04_13更新)链接: https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge

    (2019_04_13更新)链接:https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge

     

    展开全文
  • java 学生信息管理系统

    万次阅读 多人点赞 2015-10-06 14:03:33
    学生信息管理包括添加,删除,修改,查询,显示全部等 具体结构如图 在SQL Server 2005数据库上实现数据操作。使用纯面向对象的java语言作为开发语言 在sql server 2005新建一个名为Student的数据库,在下面新建一...

    只设计了一部分 全部的太多了。会慢慢更新增加。

    学生信息管理包括添加,删除,修改,查询,显示全部等

    具体结构如图

    在SQL Server 2005数据库上实现数据操作。使用纯面向对象的java语言作为开发语言

    在sql server 2005新建一个名为Student的数据库,在下面新建一个名为stu的表

    再新建一个名为login的表 存贮账号 密码

    当然 列名你可以随便写 当然 要有个学号啊。我的修改等等都是根据学号的。

    这是登录界面入口

     

    package 学生信息管理系统;
    import java.sql.*;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.Color;
    public class 学生信息管理系统 {
    	public static void main(String[] args) {
    		new loginFrame();
    	}
    }
    class loginFrame extends JFrame implements ActionListener{
    	Box box1,box2,baseBox;
    	JLabel userName,userPwd,tubiao;
    	JTextField nameField;
    	JPasswordField pwdField;
    	JButton button;
    	JTabbedPane choose;
    	JPanel panel1,panel2;
    	loginFrame(){
    		setBackground(Color.green);
    		tubiao=new JLabel(new ImageIcon("image/4.png"));
    		add(tubiao,BorderLayout.NORTH);
    		userName=new JLabel("账号",JLabel.CENTER);
    		userPwd=new JLabel("密码",JLabel.CENTER);
    		nameField=new JTextField(8);
    		pwdField=new JPasswordField(8);
    		panel1=new JPanel();
    		panel2=new JPanel();
    		choose=new JTabbedPane();
    		choose.add("教师登陆",panel1);
    		choose.add("学生登陆",panel2);
    		panel1.setLayout(new GridLayout(2,2));
    		panel1.add(userName);panel1.add(nameField);
    		panel1.add(userPwd);panel1.add(pwdField);
    		add(choose,BorderLayout.CENTER);
    		button=new JButton("登陆");
    		add(button,BorderLayout.SOUTH);
    		button.addActionListener(this);
    		ImageIcon tubiao=new ImageIcon("image/3.png");
    		setIconImage(tubiao.getImage());
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setVisible(true);
    		setBounds(400,150,300,250);
    		setTitle("登陆");
    		validate();
    	}
    	public void actionPerformed(ActionEvent e){
    		String name,pwd;
    		name=nameField.getText();
    		pwd=pwdField.getText();
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException ex){
    		System.out.println(ex);
    		}
    		try{
    			Connection con;
    			Statement sql;
    			ResultSet rs;
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			rs=sql.executeQuery("select * from login where name ='"+name+"' and pwd='"+pwd+"'");
    			int q=0;
    			while(rs.next()){
    				q++;
    			}
    			if(q>0){
    				JOptionPane.showMessageDialog(this, "登陆成功!","消息对话框",JOptionPane.WARNING_MESSAGE);
    				this.dispose();
    				new CommFrame();
    				
    			}
    			else
    				JOptionPane.showMessageDialog(this, "账号或者密码错误!","消息对话框",JOptionPane.WARNING_MESSAGE);
    		}
    		catch(SQLException exp){
    			System.out.println(exp);
    		}
    	}
    }

     

     

     


    这是登陆界面:

     

     

     

    登陆成功后 点击确定 登陆界面会消失  出现学生信息界面 。我的初始密码是12345 12345 

    你也可以随便设置。

    还有我只设置了教师登陆的界面,学生登陆的界面没有设置。

    然后就是一个集合所有窗口的卡片式布局,称为CommFrame

     

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.awt.color.*;
    import java.awt.*;
    import java.awt.event.*;
    public class CommFrame extends JFrame implements ActionListener{
    	JMenuBar bar;
    	JMenu menu;
    	JMenuItem scanItem,deleteItem,updateItem,insertItem,searchItem;
    	Scan_stu scan;//查看所有学生信息
    	Delete_stu delete;//删除学生信息
    	Update_stu update;//更新学生信息
    	Insert_stu insert;//插入学生信息
    	Search_stu search;//查找学生信息
    	CardLayout card=null;
    	JPanel pCenter;
    	CommFrame(){
    		setLayout(new FlowLayout());
    		scanItem=new JMenuItem("浏览");
    		deleteItem=new JMenuItem("删除");
    		updateItem=new JMenuItem("修改");
    		insertItem =new JMenuItem("添加");
    		searchItem=new JMenuItem("查找");
    		bar=new JMenuBar();
    		menu=new JMenu("菜单");
    		menu.add(scanItem);
    		menu.add(deleteItem);
    		menu.add(updateItem);
    		menu.add(insertItem);
    		menu.add(searchItem);
    		bar.add(menu);
    		setJMenuBar(bar);
    		scanItem.addActionListener(this);
    		deleteItem.addActionListener(this);
    		updateItem.addActionListener(this);
    		insertItem.addActionListener(this);
    		searchItem.addActionListener(this);
    		scan=new Scan_stu();
    		update=new Update_stu();
    		delete=new Delete_stu();
    		insert=new Insert_stu();
    		search=new Search_stu();
    		card=new CardLayout();
    		pCenter=new JPanel();
    		pCenter.setLayout(card);
    		pCenter.add("scanItem", scan);
    		pCenter.add("deleteItem",delete);
    		pCenter.add("updateItem",update);
    		pCenter.add("insertItem",insert);
    		pCenter.add("searchItem",search);
    		add(pCenter,BorderLayout.SOUTH);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setVisible(true);
    		setBounds(400,150,550,400);
    		setTitle("学生信息管理系统");
    		validate();
    	}
    	public void actionPerformed(ActionEvent e){
    		if(e.getSource()==scanItem)
    			card.show(pCenter, "scanItem");
    		else if(e.getSource()==deleteItem)
    			card.show(pCenter, "deleteItem");	
    		else if(e.getSource()==updateItem)
    			card.show(pCenter, "updateItem");
    		else if(e.getSource()==insertItem)
    			card.show(pCenter, "insertItem");
    		else if(e.getSource()==searchItem)
    			card.show(pCenter, "searchItem");
    	}
    
    }
    

    这里是浏览所有学生信息:Scan_stu

     

     

    package 学生信息管理系统;
    import java.awt.*;
    
    import javax.swing.JFrame;
    
    import java.awt.event.*;
    
    import javax.swing.*;
    import javax.swing.table.*;
    public class Scan_stu extends JPanel implements ActionListener{
    	DefaultTableModel update_table;
    	JTable table;
    	Query query;
    	JButton button;
    	Object a[][];
    	String b[];
    	Scan_stu(){
    		setLayout(new FlowLayout());
    		setBackground(Color.green);
    		query=new Query();
    		query.setTableName("stu");
    		a=query.getRecord();
    		b=query.getField();
    		update_table=new DefaultTableModel(a, b);
    		table=new JTable(update_table);
    		button=new JButton("更新");
    		button.addActionListener(this);
    		JScrollPane scrollPane = new JScrollPane(table);
    		scrollPane.setBounds(0,0,550,380);
    		table.setPreferredSize(new Dimension(scrollPane.getWidth() - 50, scrollPane.getHeight()*2));//使表格出现滑动条
    		add(scrollPane);
    		add(button);
    	}
    	public void actionPerformed(ActionEvent e){
    		a=null;b=null;
    		query=new Query();
    		query.setTableName("stu");
    		a=query.getRecord();
    		b=query.getField();
    		update_table.setDataVector(a, b);
    	}
    }
    

    这里是界面

     

     

    再加上Scan_stu调用的Query查找函数

     

    package 学生信息管理系统;
    import java.sql.*;
    public class Query {
    	Object a[][]=null;
    	String b[]=null;
    	String tableName="";
    	int 字段个数;
    	public Query(){
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException e){
    			System.out.println(e);
    		}
    	}
    	public Object[][] getRecord(){//求表格的内容
    		a=null;
    		b=null;
    		Connection con;
    		Statement sql;
    		ResultSet rs;
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			int 字段个数=getZiDuan();
    			int n=getAmount();
    			a=new Object[n][字段个数];
    			sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    			rs=sql.executeQuery("select * from "+tableName);
    			int m=0;
    			while(rs.next()){
    				for(int k=1;k<=字段个数;k++){
    					a[m][k-1]=rs.getString(k);
    				}
    				System.out.println();
    				m++;
    			}
    			con.close();
    		}
    		catch(SQLException e){
    			System.out.println("请输入正确的表名"+e);
    		}
    		return a;
    	}
    	public int getAmount(){//求表内容有多少行
    		Connection con;
    		Statement sql;
    		ResultSet rs;
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    			rs=sql.executeQuery("select * from "+tableName);
    			rs.last();
    			int rows=rs.getRow();
    			return rows;
    		}
    		catch(SQLException exp){
    			System.out.println(""+exp);
    			return 0;
    		}
    	}
    	public String[] getField(){//求字段名称
    		Connection con;
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			DatabaseMetaData metadata=con.getMetaData();
    			ResultSet rs1=metadata.getColumns(null, null, tableName, null);
    			int 字段个数=getZiDuan();
    			b=new String[字段个数];
    			int k=0;
    			while(rs1.next()){
    				b[k]=rs1.getString(4);
    				k++;
    			}
    			con.close();		
    		}
    		catch(SQLException e){
    			System.out.println(e);
    		}
    		return b;
    	}
    	public void setTableName(String s){//初试表名
    		tableName=s.trim();
    	}
    	public int getZiDuan(){//求字段个数
    		Connection con;
    		PreparedStatement sql;
    		ResultSet rs;
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			DatabaseMetaData metadata=con.getMetaData();
    			ResultSet rs1=metadata.getColumns(null, null, tableName, null);
    			字段个数=0;
    			while(rs1.next())
    				字段个数++;
    		}
    		catch(SQLException e){
    			System.out.println(e);
    		}
    		return 字段个数;
    	}
    }
    

     

     

     

     

     

    然后是删除学生信息函数

    Delete_stu

     

    package 学生信息管理系统;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.color.*;
    import java.sql.*;
    public class Delete_stu extends JPanel implements ActionListener{
    	Box box1,box2,baseBox;
    	Query query;
    	JButton button;
    	JTextField field[]=null;
    	String a[]=null;
    	int n,mark;
    	Delete delete;
    	String tableName;
    	Delete_stu(){
    		query=new Query();
    		setBackground(Color.green);
    		query.setTableName("stu");
    		a=query.getField();
    		box1=Box.createVerticalBox();
    		box2=Box.createVerticalBox();
    		n=a.length;
    		field =new JTextField[n];
    		for(int i=0;i<n;i++){
    			field[i]=new JTextField(10);
    			if(a[i].equals("学号")==true)
    				box1.add(new JLabel("* "+a[i]));
    			else
    			box1.add(new JLabel("  "+a[i]));
    			box1.add(Box.createVerticalStrut(8));
    			box2.add(field[i]);
    			box2.add(Box.createVerticalStrut(8));
    		}
    		box1.add(new JLabel("  单击删除"));
    		button=new JButton("删除");
    		button.addActionListener(this);
    		box2.add(button);
    		baseBox=Box.createHorizontalBox();
    		baseBox.add(box1);
    		baseBox.add(Box.createHorizontalStrut(8));
    		baseBox.add(box2);
    		add(baseBox);
    	}
    	public void actionPerformed(ActionEvent e){
    		if(field[mark].getText().toString().equals("")==true)
    			JOptionPane.showMessageDialog(this, "带*号为必填内容","消息对话框",JOptionPane.WARNING_MESSAGE);
    		else
    		{
    			Delete delete=new Delete();
    			delete.setTableName("stu");
    			delete.setField(field);
    			delete.setA(a);
    			delete.Execute_Delete(mark);
    		}
    	}
    }
    


    这是界面

     

    这是调用的删除函数:Delete

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Delete extends JFrame{
    	String tableName;
    	JTextField field[]=null;
    	String a[]=null;
    	public void setTableName(String s){
    		tableName=s.trim();
    	}
    	public void setField(JTextField s[]){
    		field=s;
    	}
    	public void setA(String e[]){
    		a=e;
    	}
    	public Delete(){
    		
    	}
    	public void  Execute_Delete(int n){
    		String SQL="";
    		Connection con;
    		Statement sql;
    		SQL="delete from "+tableName+" where "+a[n]+" ='"+field[n].getText().toString()+"'";
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException exp){
    			System.out.println(exp);
    		}
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			sql.executeUpdate(SQL);
    			con.close();
    			JOptionPane.showMessageDialog(this, "删除成功","消息对话框",JOptionPane.WARNING_MESSAGE);
    			for(int i=0;i<field.length;i++)
    				field[i].setText(null);;
    		}
    		catch(SQLException ex){
    			System.out.println(ex);
    		}
    	}
    }
    

    然后是修改学生信息的Update_stu函数

     

     

    package 学生信息管理系统;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.color.*;
    import java.sql.*;
    public class Update_stu extends JPanel implements ActionListener{
    	Box box1,box2,baseBox;
    	Query query;
    	JButton button;
    	JTextField field[]=null;
    	String a[]=null;
    	int n,mark;
    	Update update;
    	String tableName;
    	Update_stu(){
    		query=new Query();
    		setBackground(Color.green);
    		query.setTableName("stu");
    		a=query.getField();
    		box1=Box.createVerticalBox();
    		box2=Box.createVerticalBox();
    		n=a.length;
    		field =new JTextField[n];
    		for(int i=0;i<n;i++){
    			field[i]=new JTextField(10);
    			if(a[i].equals("学号")==true)
    				box1.add(new JLabel("* "+a[i]));
    			else
    			box1.add(new JLabel("  "+a[i]));
    			box1.add(Box.createVerticalStrut(8));
    			box2.add(field[i]);
    			box2.add(Box.createVerticalStrut(8));
    		}
    		box1.add(new JLabel("  单击修改"));
    		button=new JButton("修改");
    		button.addActionListener(this);
    		box2.add(button);
    		baseBox=Box.createHorizontalBox();
    		baseBox.add(box1);
    		baseBox.add(Box.createHorizontalStrut(8));
    		baseBox.add(box2);
    		add(baseBox);
    	}
    	public void actionPerformed(ActionEvent e){
    		int i;
    		for(i=0;i<n;i++){
    			if(a[i].equals("学号")==true&&field[i].getText().toString().equals("")==true){
    				mark=i;
    				JOptionPane.showMessageDialog(this, "带*必须填写!!!","消息对话框",JOptionPane.WARNING_MESSAGE);
    				break;
    			}
    		}
    		if(i==n){
    			int choose=JOptionPane.showConfirmDialog(this, "请确保你的学号是正确的,否则会更新失败!!!如果学号错误"
    					+ "请先删除再添加","消息对话框",JOptionPane.WARNING_MESSAGE);
    			if(choose==JOptionPane.YES_OPTION){
    				Update update=new Update();
    				update.setTableName("stu");
    				update.setField(field);
    				update.setA(a);
    				update.Execute_Update(mark);
    				JOptionPane.showMessageDialog(this, "更新成功!!!","消息对话框",JOptionPane.WARNING_MESSAGE);
    			}
    		}
    	}
    
    }
    


    这是界面

     

    这是调用的修改函数Update

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Update extends JFrame{
    	String tableName;
    	JTextField field[]=null;
    	String a[]=null;
    	public void setTableName(String s){
    		tableName=s.trim();
    	}
    	public void setField(JTextField s[]){
    		field=s;
    	}
    	public void setA(String e[]){
    		a=e;
    	}
    	public Update(){
    		
    	}
    	public void  Execute_Update(int mark){
    		String SQL[]=new String [a.length];
    		Connection con;
    		Statement sql;
    		for(int i=0;i<a.length;i++)
    		{
    			if(i!=mark)
    			SQL[i]="update "+tableName+" set "+a[i]+" ='"+field[i].getText().toString()+"' where "+a[mark]+" ='"+field[mark].getText().toString()+"'";
    		}
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException exp){
    			System.out.println(exp);
    		}
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			for(int i=0;i<field.length;i++)
    				if(i!=mark&&field[i].getText().toString().equals("")==false)
    					sql.executeUpdate(SQL[i]);
    			con.close();
    			for(int i=0;i<field.length;i++)
    				field[i].setText(null);
    		}
    		catch(SQLException ex){
    			System.out.println(ex);
    		}
    	}
    }
    


    添加学生信息函数:Insert_Stu

     

     

    package 学生信息管理系统;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.color.*;
    import java.sql.*;
    public class Insert_stu extends JPanel implements ActionListener{
    	Box box1,box2,baseBox;
    	Query query;
    	JButton button;
    	JTextField field[]=null;
    	String a[]=null;
    	int n,mark;
    	Insert insert;
    	String tableName;
    	Insert_stu(){
    		query=new Query();
    		setBackground(Color.green);
    		query.setTableName("stu");
    		a=query.getField();
    		box1=Box.createVerticalBox();
    		box2=Box.createVerticalBox();
    		n=a.length;
    		field =new JTextField[n];
    		for(int i=0;i<n;i++){
    			field[i]=new JTextField(10);
    			if(a[i].equals("学号")==true)
    				box1.add(new JLabel("* "+a[i]));
    			else
    			box1.add(new JLabel("  "+a[i]));
    			box1.add(Box.createVerticalStrut(8));
    			box2.add(field[i]);
    			box2.add(Box.createVerticalStrut(8));
    		}
    		box1.add(new JLabel("  单击添加"));
    		button=new JButton("添加");
    		button.addActionListener(this);
    		box2.add(button);
    		baseBox=Box.createHorizontalBox();
    		baseBox.add(box1);
    		baseBox.add(Box.createHorizontalStrut(8));
    		baseBox.add(box2);
    		add(baseBox);
    	}
    	public void actionPerformed(ActionEvent e){
    		int i;
    		for(i=0;i<n;i++){
    			if(field[i].getText().toString().equals("")==true){
    				JOptionPane.showMessageDialog(this, "必须全部填写","消息对话框",JOptionPane.WARNING_MESSAGE);
    				break;
    			}
    			if(a[i].equals("学号")==true){
    				mark=i;
    			}
    		}
    		if(i==n){
    				Insert insert=new Insert();
    				insert.setTableName("stu");
    				insert.setField(field);
    				insert.setA(a);
    				insert.Execute_Insert(mark);
    			}
    		}
    
    }
    


     

     

     

    调用的添加函数Insert

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Insert extends JFrame{
    	String tableName;
    	JTextField field[]=null;
    	String a[]=null;
    	Update update;
    	public void setTableName(String s){
    		tableName=s.trim();
    	}
    	public void setField(JTextField s[]){
    		field=s;
    	}
    	public void setA(String e[]){
    		a=e;
    	}
    	public Insert(){
    		
    	}
    	public void  Execute_Insert(int mark){
    		String SQL;
    		Connection con;
    		Statement sql;
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException exp){
    			System.out.println(exp);
    		}
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			SQL="insert "+tableName+"("+a[mark]+") values ('"+field[mark].getText().toString()+"')";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			sql.execute(SQL);
    			con.close();
    			update =new Update();
    			update.setTableName(tableName);
    			update.setField(field);
    			update.setA(a);
    			update.Execute_Update(mark);
    			JOptionPane.showMessageDialog(this, "添加成功!!!","消息对话框",JOptionPane.WARNING_MESSAGE);
    			for(int i=0;i<field.length;i++)
    				field[i].setText(null);;
    		}
    		catch(SQLException ex){
    			System.out.println(ex);
    		}
    	}
    }
    


    然后是查找学生信息的Search_stu函数

     

     

    package 学生信息管理系统;
    import java.awt.*;
    import java.awt.event.*;
    
    import javax.swing.*;
    import javax.swing.table.DefaultTableModel;
    
    import java.awt.color.*;
    import java.sql.*;
    public class Search_stu extends JPanel implements ActionListener{
    	Box box[],baseBox;
    	Query query;
    	JButton button;
    	JTextField field[]=null;
    	String a[]=null;
    	int n,mark,m;
    	Search search;
    	String tableName;
    	DefaultTableModel search_table;
    	Object object[][];
    	String b[];
    	Search_stu(){
    		setLayout(new FlowLayout());
    		query=new Query();
    		setBackground(Color.green);
    		query.setTableName("stu");
    		a=query.getField();
    		n=a.length;
    		box=new Box [n+1];
    		field =new JTextField[n];
    		for(int i=0;i<n;i++){
    			box[i]=Box.createHorizontalBox();
    			field[i]=new JTextField(10);
    			if(a[i].equals("学号")==true){
    				box[i].add(new JLabel("  "+a[i]));
    				box[i].add(Box.createHorizontalStrut(8));
    				box[i].add(field[i]);
    			}
    			else{
    				box[i].add(new JLabel("  "+a[i]));
    				box[i].add(Box.createHorizontalStrut(8));
    				box[i].add(field[i]);
    			}
    		}
    		object =new Object[0][0];
    		search_table=new DefaultTableModel(object, a);
    		JTable table=new JTable(search_table);
    		button=new JButton("查找");
    		button.addActionListener(this);
    		box[n-1].add(new JLabel("  单击查找"));
    		box[n-1].add(Box.createHorizontalStrut(8));
    		box[n-1].add(button);
    		baseBox=Box.createVerticalBox();
    		for(int i=0;i<n;i++){
    		baseBox.add(box[i]);
    		baseBox.add(Box.createVerticalStrut(8));
    		}
    		JScrollPane scrollPane=new JScrollPane(table);
    		scrollPane.setBounds(0,0,550,380);
    		table.setPreferredSize(new Dimension(scrollPane.getWidth() - 50, scrollPane.getHeight()*2));
    		baseBox.add(scrollPane); 
    		add(baseBox);
    		table.revalidate();
    		
    	}
    	public void actionPerformed(ActionEvent e){
    		int i,sum=0;
    		for(i=0;i<n;i++){
    			if(field[i].getText().toString().equals("")==true)
    				sum++;
    		}
    		System.out.println(sum);
    		if(sum==n)
    			JOptionPane.showMessageDialog(this, "你未输入任何内容,请重新输入!","消息对话框",JOptionPane.WARNING_MESSAGE);
    		else{
    			Search search=new Search();
    			search.setTableName("stu");
    			search.setField(field);
    			search.setA(a);
    			search.Execute_Search();	
    			object=null;b=null;
    			query=new Query();
    			query.setTableName("stu");
    			object=search.getRecord();
    			search_table.setDataVector(object, a);
    		}
    	}
    }
    


    这是查找界面

     

    然后是查找函数:

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Search extends JFrame{
    	String tableName;
    	JTextField field[]=null;
    	String a[]=null;
    	Object object[][];
    	String b[];
    	public void setTableName(String s){
    		tableName=s.trim();
    	}
    	public void setField(JTextField s[]){
    		field=s;
    	}
    	public void setA(String e[]){
    		a=e;
    	}
    	public Search(){
    		
    	}
    	public void  Execute_Search(){
    		String SQL="select * from "+tableName+" where ";
    		Connection con;
    		Statement sql;
    		ResultSet rs;
    		int sum=0;
    		for(int i=0;i<a.length;i++)
    		{
    			if(field[i].getText().toString().equals("")==false){
    				if(sum==0)
    					SQL=SQL+a[i]+" = '"+field[i].getText().toString()+"'";
    				else
    					SQL=SQL+" and "+a[i]+" = '"+field[i].getText().toString()+"'";
    				sum++;
    			}
    			
    		}
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException exp){
    			System.out.println(exp);
    		}
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    			rs=sql.executeQuery(SQL);
    			rs.last();
    			object =new Object[rs.getRow()][a.length];
    			rs.beforeFirst();
    			int ncase=0;
    			while(rs.next()){
    				for(int i=1;i<=a.length;i++){
    					object[ncase][i-1]=rs.getString(i);
    				}
    				ncase++;
    			}
    			con.close();
    			for(int i=0;i<field.length;i++)
    				field[i].setText(null);
    		}
    		catch(SQLException ex){
    			System.out.println(ex);
    		}
    	}
    	public Object[][] getRecord(){
    		return object;
    	}
    }
    


    写的时候没发现  现在看看挺多的。。其实代码不多,我每个删除 更新 添加 查看 查找 之所以又写了一个删除 更新 添加 查找函数 因为我还会往下写的。。在后面更新 会 查找课程信息 成绩信息 什么的直接调用函数就行了。所以不要嫌多。。而且这些函数的内容都是差不多的。

     

    比如写完一个更新操作 把里面的sql语句改改 不就是删除操作吗。。内容看着多 其实都一样。一起加油吧!

     

    展开全文
  • JAVA 学生信息管理系统 JAVA 学生信息管理系统 JAVA 学生信息管理系统 JAVA 学生信息管理系统 JAVA 学生信息管理系统 JAVA 学生信息管理系统
  • java学生信息管理系统

    2018-04-17 09:18:10
    Java学生信息管理系统 ( Java学生信息管理系统 ( Java学生信息管理系统
  • 内容索引:JAVA源码,综合应用,管理系统 Java 学生信息管理系统,想了解基本Jdbc操作的朋友正好可以参看一下这个参考源码,可学习一些数据添加的操作,以及一些简单的用户界面的编写,数据库备份文件以及SQL脚本都附...
  • Java学生信息管理系统

    2011-12-19 17:44:43
    Java学生信息管理系统

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,341
精华内容 2,136
关键字:

java学生信息管理系统

java 订阅