-
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_Stupackage 学生信息管理系统; 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 学生信息管理系统
2020-12-31 17:30:50JAVA 学生信息管理系统 JAVA 学生信息管理系统 JAVA 学生信息管理系统 JAVA 学生信息管理系统 JAVA 学生信息管理系统 JAVA 学生信息管理系统 -
java学生信息管理系统
2018-04-17 09:18:10Java学生信息管理系统 ( Java学生信息管理系统 ( Java学生信息管理系统 -
Java 学生信息管理系统
2021-03-16 06:59:23内容索引:JAVA源码,综合应用,管理系统 Java 学生信息管理系统,想了解基本Jdbc操作的朋友正好可以参看一下这个参考源码,可学习一些数据添加的操作,以及一些简单的用户界面的编写,数据库备份文件以及SQL脚本都附... -
Java学生信息管理系统
2011-12-19 17:44:43Java学生信息管理系统