java 学生信息管理系统

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

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

具体结构如图

java 学生信息管理系统_第1张图片

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

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

java 学生信息管理系统_第2张图片

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

java 学生信息管理系统_第3张图片

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

这是登录界面入口

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);
		}
	}
}



这是登陆界面: java 学生信息管理系统_第4张图片 java 学生信息管理系统_第5张图片

登陆成功后 点击确定 登陆界面会消失  出现学生信息界面 。我的初始密码是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);
	}
}
这里是界面 java 学生信息管理系统_第6张图片


再加上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);
		}
	}
}

这是界面 java 学生信息管理系统_第7张图片

这是调用的删除函数: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);
			}
		}
	}

}

这是界面 java 学生信息管理系统_第8张图片

这是调用的修改函数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);
			}
		}

}

java 学生信息管理系统_第9张图片

调用的添加函数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);
		}
	}
}

这是查找界面

java 学生信息管理系统_第10张图片

然后是查找函数:

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学生信息管理系统)