谁能帮忙用java语言编一个学生管理系统,访问access数据库,实现插入,删除,查询

供稿:hz-xin.com     日期:2025-01-18
用java编写学生信息管理系统,只需有添加,删除,修改,查询,输出等功能即可!无需写入数据库!

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;

class Student implements java.io.Serializable{
String number,name,specialty,grade,borth,sex;
public Student(){};
public void setNumber(String number){ this.number=number;}
public String getNumber(){ return number;}
public void setName(String name){ this.name=name;}
public String getName(){ return name;}
public void setSex(String sex){ this.sex=sex;}
public String getSex(){ return sex;}
public void setSpecialty(String specialty){ this.specialty=specialty;}
public String getSpecialty(){ return specialty;}
public void setGrade(String grade){ this.grade=grade;}
public String getGrade(){ return grade;}
public void setBorth(String borth){ this.borth=borth;}
public String getBorth(){ return borth;}
}
public class StudentManager extends JFrame{
JLabel lb=new JLabel("录入请先输入记录,查询、删除请先输入学号,修改是对查询" +
"内容改后的保存!");
static JTextField Jnumber,Jname,Jspecialty,Jgrade,Jborth;
static JRadioButton boy,girl;
static ButtonGroup group=null;
static JButton Login,select,delete,update,show;
static JPanel p1,p2,p3,p4,p5,p6,pv,ph;
static Student student=null;
static Hashtable Shashtable=null;
static File file=null;
static FileInputStream inOne=null;
static ObjectInputStream inTwo=null;
static FileOutputStream outOne=null;
static ObjectOutputStream outTwo=null;
public StudentManager(){
super("学生基本信息管理系统");
Jnumber=new JTextField(10);
Jname =new JTextField(10);
Jspecialty=new JTextField(10);
Jgrade=new JTextField(10);
Jborth=new JTextField(10);
group=new ButtonGroup();
boy=new JRadioButton("男",true);
girl=new JRadioButton("女",false);
group.add(boy);
group.add(girl);
Login=new JButton("录入");
select=new JButton("查询");
delete=new JButton("删除");
update=new JButton("修改");
show=new JButton("显示");
Login.addActionListener(new InputAct());
select.addActionListener(new InquestAct());
update.addActionListener(new ModifyAct());
delete.addActionListener(new DeleteAct());
show.addActionListener(new ShowAct());
update.setEnabled(false);
p1=new JPanel();
p1.add(new JLabel("学号:",JLabel.CENTER));
p1.add(Jnumber);
p2=new JPanel();
p2.add(new JLabel("姓名:",JLabel.CENTER));
p2.add(Jname);
p3=new JPanel();
p3.add(new JLabel("性别:",JLabel.CENTER));
p3.add(boy);
p3.add(girl);
p4=new JPanel();
p4.add(new JLabel("专业:",JLabel.CENTER));
p4.add(Jspecialty);
p5=new JPanel();
p5.add(new JLabel("年级:",JLabel.CENTER));
p5.add(Jgrade);
p6=new JPanel();
p6.add(new JLabel("出生:",JLabel.CENTER));
p6.add(Jborth);
pv=new JPanel();
pv.setLayout(new GridLayout(6,1));
pv.add(p1);
pv.add(p2);
pv.add(p3);
pv.add(p4);
pv.add(p5);
pv.add(p6);
ph=new JPanel();
ph.add(Login);
ph.add(select);
ph.add(update);
ph.add(delete);
ph.add(show);
file=new File("学生信息.txt");
Shashtable=new Hashtable();
if(!file.exists()){
try{
FileOutputStream out=new FileOutputStream(file);
ObjectOutputStream objectOut=new ObjectOutputStream(out);
objectOut.writeObject(Shashtable);
objectOut.close();
out.close();
}
catch(IOException e){}
}
Container con=getContentPane();
con.setLayout(new BorderLayout());
con.add(lb, BorderLayout.NORTH);
con.add(pv, BorderLayout.CENTER);
con.add(ph, BorderLayout.SOUTH);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBounds(100,100,600,300);
setVisible(true);

}
public static void main(String[] args) {new StudentManager();}
class InputAct implements ActionListener{
public void actionPerformed(ActionEvent e){
update.setEnabled(false);
String number="";
number=Jnumber.getText();
if(number.length()>0){
try{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
Shashtable=(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
catch(Exception ee){System.out.println("创建散列表出现问题!");}
if(Shashtable.containsKey(number)){
String warning="该生信息已存在,请到修改页面修改!";
JOptionPane.showMessageDialog(null,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}//end if1
else{
String m="该生信息将被录入!";
int ok=JOptionPane.showConfirmDialog(null,m,"确认",
JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);
if(ok==JOptionPane.YES_OPTION){
String name=Jname.getText();
String specialty=Jspecialty.getText();
String grade=Jgrade.getText();
String borth=Jborth.getText();
String sex=null;
if(boy.isSelected()){sex=boy.getText();}
else{sex=girl.getText();}
student=new Student();
student.setNumber(number);
student.setName(name);
student.setSpecialty(specialty);
student.setGrade(grade);
student.setBorth(borth);
student.setSex(sex);
try{
outOne=new FileOutputStream(file);
outTwo=new ObjectOutputStream(outOne);
Shashtable.put(number,student);
outTwo.writeObject(Shashtable);
outTwo.close();
outOne.close();
}
catch(Exception ee){System.out.println("输出散列表出现问题!");}
Jnumber.setText(null);
Jname.setText(null);
Jspecialty.setText(null);
Jgrade.setText(null);
Jborth.setText(null);
}
}//end else1
}//end if0
else{
String warning="必须输入学号!";
JOptionPane.showMessageDialog(null,warning,
"警告",JOptionPane.WARNING_MESSAGE);
}//end else0
}//end actionPerformed
}//end class
class InquestAct implements ActionListener{
public void actionPerformed(ActionEvent e){
String number="";
number=Jnumber.getText();
if(number.length()>0){
try{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
Shashtable=(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
catch(Exception ee){System.out.println("散列表有问题!");}
if(Shashtable.containsKey(number)){
update.setEnabled(true);
Student stu=(Student)Shashtable.get(number);
Jname.setText(stu.getName());
Jspecialty.setText(stu.getSpecialty());
Jgrade.setText(stu.getGrade());
Jborth.setText(stu.getBorth());
if(stu.getSex().equals("男")){boy.setSelected(true);}
else{girl.setSelected(true);}
}
else{
update.setEnabled(false);
String warning="该学号不存在!";
JOptionPane.showMessageDialog(null,warning,
"警告",JOptionPane.WARNING_MESSAGE);
}
}
else{
update.setEnabled(false);
String warning="必须输入学号!";
JOptionPane.showMessageDialog(null,warning,
"警告",JOptionPane.WARNING_MESSAGE);
}
}
}
class ModifyAct implements ActionListener{
public void actionPerformed(ActionEvent e){
String number=Jnumber.getText();
String name=Jname.getText();
String specialty=Jspecialty.getText();
String grade=Jgrade.getText();
String borth=Jborth.getText();
String sex=null;
if(boy.isSelected()){sex=boy.getText();}
else{sex=girl.getText();}
Student 学生=new Student();
学生.setNumber(number);
学生.setName(name);
学生.setSpecialty(specialty);
学生.setGrade(grade);
学生.setBorth(borth);
学生.setSex(sex);
try{
outOne=new FileOutputStream(file);
outTwo=new ObjectOutputStream(outOne);
Shashtable.put(number, 学生);
outTwo.writeObject(Shashtable);
outTwo.close();
outOne.close();
Jnumber.setText(null);
Jname.setText(null);
Jspecialty.setText(null);
Jgrade.setText(null);
Jborth.setText(null);
}
catch(Exception ee){
System.out.println("录入修改出现异常!");
update.setEnabled(false);
}
}
}
class DeleteAct implements ActionListener{
public void actionPerformed(ActionEvent e){
update.setEnabled(false);
String number=Jnumber.getText();
if(number.length()>0){
try{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
Shashtable=(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
catch(Exception ee){}
if(Shashtable.containsKey(number)){
Student stu=(Student)Shashtable.get(number);
Jname.setText(stu.getName());
Jspecialty.setText(stu.getSpecialty());
Jgrade.setText(stu.getGrade());
Jborth.setText(stu.getBorth());
if(stu.getSex().equals("男")){boy.setSelected(true);}
else{girl.setSelected(true);}
}
String m="确定要删除该学生的记录吗?";
int ok=JOptionPane.showConfirmDialog(null,m,"确认",
JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
if(ok==JOptionPane.YES_OPTION){
Shashtable.remove(number);
try{
outOne=new FileOutputStream(file);
outTwo=new ObjectOutputStream(outOne);
outTwo.writeObject(Shashtable);
outTwo.close();
outOne.close();
Jnumber.setText(null);
Jname.setText(null);
Jspecialty.setText(null);
Jgrade.setText(null);
Jborth.setText(null);
}
catch(Exception ee){System.out.println(ee);}

}
else if(ok==JOptionPane.NO_OPTION){
Jnumber.setText(null);
Jname.setText(null);
Jspecialty.setText(null);
Jgrade.setText(null);
Jborth.setText(null);
}
else{
String warning="该学号不存在!";
JOptionPane.showMessageDialog(null,warning,
"警告",JOptionPane.WARNING_MESSAGE);
}
}
else{
String warning="必须输入学号!";
JOptionPane.showMessageDialog(null,warning,
"警告",JOptionPane.WARNING_MESSAGE);
}
}
}
class ShowAct implements ActionListener{
public void actionPerformed(ActionEvent e){
new StudentShow(file);
}
}
class StudentShow extends JDialog{
Hashtable 学生散列表= null;
JTextArea 显示=null;
FileInputStream inOne=null;
ObjectInputStream inTwo=null;
File file=null;
public StudentShow(File file){
super(new JFrame(),"显示对话框");
this.file=file;
显示=new JTextArea(16,30);
try{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
学生散列表=(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
catch(Exception ee){}
if(学生散列表.isEmpty())显示.append("目前还没有学生的信息记录!
");
else{
显示.setText("学号 姓名 性别 专业 年级 出生
");
for(Enumeration enm=学生散列表.elements();enm.hasMoreElements();){
Student stu=(Student)enm.nextElement();
String sex="";
if(stu.getSex().equals("男"))sex="男";
else sex="女";
String str=stu.getNumber()+","+stu.getName()+","+sex+","
+stu.getSpecialty()+","+stu.getGrade()+","+stu.getBorth()+"
";
显示.append(str);
}
}
JScrollPane scroll=new JScrollPane(显示);
Container con=getContentPane();
con.add("Center",scroll);
con.validate();
setVisible(true);
setBounds(200,200,400,300);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){setVisible(false);}
}
);
}
}
}

public static void findInfo(String filePath) throws IOException {
//把之前存入到数据的文件,读取到集合中来。
ArrayList list = new ArrayList();
readData(list,filePath);
//遍历集合
for(int i=0;i<list.size();i++) {
Student stu = list.get(i);
System.out.println(stu.getId()+" "+stu.getName()+" "+stu.getAddress());
}


}
private static void readData(ArrayList list ,String filePath) throws NumberFormatException, IOException{
FileReader fr = new FileReader(filePath);
BufferedReader br = new BufferedReader(fr);
//读物文件里面的信息
String line = null;
while((line=br.readLine())!=null) {
String[] str = line.split(",");
//获取的数据封装成对象
//stu.getId()+","+stu.getName()+","+stu.getAge()
Student stu = new Student();
stu.setId(str[0]);
stu.setName(str[1]);
stu.setAge(Integer.valueOf(str[2]));
//将对象放到集合中区
list.add(stu);
}

}
//输入学生的信息
public static void addInfo(String filePath) throws IOException{
ArrayList list = new ArrayList();
Scanner sc = new Scanner(System.in);
//将输入的信息存放到集合里面去
for(int i=1;i<=3;i++) {
System.out.println("请输入第"+i+"个学生的id");
String id = sc.next();
System.out.println("请输入第"+i+"个学生的name");
String name = sc.next();
System.out.println("请输入第"+i+"个学生的age");
int age = sc.nextInt();

Student stu = new Student();
stu.setId(id);
stu.setAge(age);
stu.setName(name);


list.add(stu);
}
//将集合里面的信息写到文件里面去
writeDate(list,filePath);
}

您好,提问者:
    给你一个查询access数据库,然后到处到xls的例子吧。。。

//下面是代码
import java.io.FileWriter;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
 
 
public class Util {
 
    public static void main(String[] args) throws ClassNotFoundException, SQLException, IOException {  
        String   dbUr1="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\体检.mdb";     
         String   user="";     
         String   password="";     
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");     
         Connection   c=DriverManager.getConnection(dbUr1,user,password);     
         Statement s=c.createStatement();     
         ResultSet   r=s.executeQuery("SELECT   病历号,体检日期,姓名,性别,年龄,家庭住址,邮政编码,联系电话   "+"FROM   体检记录表");
         FileWriter fw = new FileWriter("C:\\体检统计.xls");
         fw.write("病历号");
         fw.write("体检日期");
         fw.write("姓名");
         fw.write("性别");
         fw.write("年龄");
         fw.write("家庭住址");
         fw.write("邮政编码");
         fw.write("联系电话
");
         while(r.next()){     
             fw.write(r.getString("病历号")+"");  
             fw.write(r.getString("体检日期")+"");
             fw.write(r.getString("姓名")+"");
             fw.write(r.getString("性别")+"");
             fw.write(r.getString("年龄")+"");
             fw.write(r.getString("家庭住址")+"");
             fw.write(r.getString("邮政编码")+"");
             fw.write(r.getString("联系电话")+"
");
         }     
         s.close();
         fw.close();
   }  
}

//把需求中的体检.mdb放入到C:\根目录,下面这是体检.mdb的截图

//程序会自动生成到C:\根目录的xls文件,名称为“体检统计.xls”,运行结果截图



public class Operation {

private Connection conn = null;
private PreparedStatement stat = null;
private ResultSet re = null;

public Operation(){
conn = new GetConn().Conn(); //调用连接数据库的函数
}
//插入
public int Insert(Student stu){
String sql = "insert into studentInfo values(?,?,?,?,?,?,?,?,?)";
//String sql4 = "update studentInfo set id ='"+id+"' where username ='"+username+"' ";
try {
stat = conn.prepareStatement(sql);
stat.setString(1, stu.getId());
stat.setString(2, stu.getSex());
stat.setString(3, stu.getUsername());
stat.setString(4, stu.getAddress());
stat.setString(5, stu.getMobileTel());
stat.setString(6, stu.getLocalTel());
stat.setString(7, stu.getQq());
stat.setString(8, stu.getJob());
stat.setString(9, stu.getCompany());
int n = stat.executeUpdate();
return n ;
} catch (SQLException e) {
e.printStackTrace();
}finally{
new GetConn().Clo(conn, stat, null);
}
return 0;
}

public int deleteFromId(String id){ //根据ID号来删除一位学生的信息
String sql = "delete from studentInfo where id = ?";
try {
stat = conn.prepareStatement(sql);
//第一个?的值
stat.setString(1, id);
int n = stat.executeUpdate();
return n;
//System.out.println(n);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return 0;
}
//查询
public ArrayList select(){
ArrayList al = new ArrayList();

String sql = "select * from studentInfo";
try {
stat = conn.prepareStatement(sql);
re = stat.executeQuery();
while(re.next()){
Student stu = new Student();
stu.setId(re.getString(1));
stu.setSex(re.getString(2));
stu.setUsername(re.getString(3));
stu.setAddress(re.getString(4));
stu.setMobileTel(re.getString(5));
stu.setLocalTel(re.getString(6));
stu.setQq(re.getString(7));
stu.setJob(re.getString(8));
stu.setCompany(re.getString(9));
al.add(stu);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
new GetConn().Clo(conn, stat, re);
}
return al;
}

求java用c语言写一个的一个关于学生的名字,学号,成绩等一些的全英文编程...
\/ 学生成绩管理程序 编制一个统计学生考试分数的管理程序。设学生成绩已以一个学生一个记录的形式存储在文件中,每位学生记录包含的信息有:姓名,学号和各门功课的成绩。程序具有以下几项功能:求出各门课程的总分,平均分,按姓名,按学号寻找其记录并显示,浏览全部学生成绩和按总分由高到低显示学生...

请问用java做学生宿舍管理系统的优势有哪些 相对c语言之类的 毕业设 ...
2学生管理系统自然少不了数据库。JAVA的JDBC非常成熟,可以很简便的访问数据库。C访问数据库的库相对复杂,而且风格各异,需要一段时间学习和适应 3 JAVA语言相对简单,其内存回收,分配基本上都由系统完成。而C则需要自己完成。这意味着程序员需要花很多时间处理内存泄露问题。4 C的优势,高效,简洁,...

用java做了个学籍管理系统,答辩时老师一般会问些什么
演示一下系统,展示其主要功能和界面。这能让老师直观地了解系统的操作流程和功能特点。系统实现了学生信息管理、课程信息管理、成绩管理、教师管理等功能。详细介绍了系统的主要模块和功能,以及各模块之间的关系。数据库存储在本地服务器上,使用MySQL数据库管理系统。详细描述了数据库的结构,包括表结构、...

用JAVA定义一个学生类Student来表示学生信息,学生类中包含成员有学号...
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。Java 编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序...

用java程序语言编程
public class Zhidao { public static void main(String args[]) { Student s1 = new Student();Student s2 = new Student("张三",1989,7,7);Student s3=new Student("张三",new MyDate());Student s4=new Student("张三",new MyDate(2009,4,1));s1.print();s2.print();s3.print...

java语言编写, 定义一个“学生”类,然后创建10个学生对象,计算他们的平 ...
\/\/ 假设10个学生的成绩为如下所示 List<Student> list = Arrays.asList(new Student(56), new Student(66),new Student(76), new Student(86), new Student(96), new Student(44), new Student(77), new Student(77), new Student(87),new Student(88));Integer[] grades = new ...

用JAVA编写一个程序,要求如下:
}public double getEnglish() {return english;}public void setEnglish(double english) {this.english = english;}} --- StudentTest类:(测试类)import java.util.Scanner;public class StudentTest {public static void main(String[] args) {Student student = new Student();Scanner sc = ne...

用Java编写一段测试程序,生成student类的两个对象,并输出每个对象基本信 ...
在Java编程中,创建一个名为Student的类是基础练习之一。该类包含学生的基本信息,如学号、姓名、性别和年龄。下面展示了一个简单的Student类的定义及其使用示例。首先定义Student类:public class Student { private String sNo;private String sName;private String sSex;private int sAge;public Student(...

学籍的管理系统
学籍信息管理系统摘要:随着网络技术与计算机的广泛普及,绝大部分的机构都对计算机管理系统进行了合理的运用,本设计通过Java面向对象语言完成对学生信息管理系统进行编写,基于B\/S模式,所用开发工具为Eclipse以及AndroidStudio,然后基于Mysql的数据库基础上,通过Adobe Photoshop CS6的图像处理软件美化界面,在系统开发过程中用到...

Java语言,编写一个程序能将用户输入的个任意长度的整数,求出各个位...
运行结果:代码如下:import java.util.Scanner;public class App { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个整数:"); int number = scanner.nextInt(); while (number != 0) { int x = numbe...