java 学生信息管理系统

java 学生信息管理系统只设计了一部分全部的太多了。会慢慢更新增加。学生信息管理包括添加,删除,修改,查询,显示全部等具体结构如图在SQLServer2005数据库上实现数据操作。使用纯面向对象的java语言作为开发语言在sqlserver2005新建一个名为Student的数据库,在下面新建一个名为stu的表当然列名你可以随便写当然要有个学号啊。我的修改等等都是根据学号的

大家好,又见面了,我是你们的朋友全栈君。

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

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

具体结构如图

java 学生信息管理系统

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

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

java 学生信息管理系统

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

java 学生信息管理系统

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

这是登录界面入口

 

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

 

 

 

登陆成功后 点击确定 登陆界面会消失  出现学生信息界面 。我的初始密码是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 学生信息管理系统

 

 

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

 

这是调用的删除函数: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 学生信息管理系统

 

这是调用的修改函数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 学生信息管理系统

 

 

 

调用的添加函数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 学生信息管理系统

然后是查找函数:

 

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语句改改 不就是删除操作吗。。内容看着多 其实都一样。一起加油吧!

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158464.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 什么是平均数,中位数,众数,方差_平均数标准差

    什么是平均数,中位数,众数,方差_平均数标准差Python代码实现第一步:添加数据到列表defnum(a):iffloat(a)==int(a):returnint(a)else:returnfloat(a)#添加数据li=[]print(&amp;amp;quot;请逐条添加数据!(若退出请输入0000)&amp;amp;quot;)whileTrue:print(&amp;amp;quot;请输入:&amp;amp;q

  • c语言用命令行打开文件_c语言无法打开文件

    c语言用命令行打开文件_c语言无法打开文件linux文件操作(打开及关闭)Linux文件描述符简介当一个进程获取文件的访问权时,通常指打开一个文件时,内核返回一个文件描述符,进程可以通过文件描述符进行后续的操作。文件描述符是一组正整数,每一个文件被打开时,内核都会打开一个大于或等于0的文件描述符。文件描述符012这是linux系统保留的三个文件描述符。0代表标准输入stdin1代表标准输出stdout2代表错误输出s…

    2022年10月31日
  • Oracle 中的视图理解

    Oracle 中的视图理解

  • 低功耗蓝牙信标已成为室内定位御用信标–室内定位信标–新导智能

    低功耗蓝牙信标已成为室内定位御用信标–室内定位信标–新导智能低功耗蓝牙(BluetoothLE)信标已经在市场上部署了几年,而且已成为挨近感知运用的抢先技能挑选。BluetoothLE的低功耗和简略性,再加上其在智能手机中的普遍运用,可完成低成本、电池供电的信标,并使信标能广泛运用于室内定位信标智能手机运用程序中依据方位的服务。蓝牙室内定位信标:一般而言,信标是一种小型、廉价的无线设备,一般由电池供电,运用低功耗蓝牙技能来播送其存在。信标一般被描述为灯塔的射频版别,反复播送其规模内其他设备可以辨认的标识符。智能手机或平板电脑可以运…

  • vim 命令大全 / vi 命令大全

    vim 命令大全 / vi 命令大全

  • XPlanner使用手册

    XPlanner使用手册

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号