国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

界面展示

登錄界面
Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)
管理員界面
Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)
學(xué)生界面
Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)
教師界面
Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)

一、環(huán)境搭建

eclipse網(wǎng)址:https://www.eclipse.org/downloads/
(進(jìn)入之后安裝包直接安裝就行)
MySql官方網(wǎng)址:http://www.mysql.com
這里我推薦用C語言中文網(wǎng)的下載方式,較為詳細(xì) MySql下載步驟詳解
配置為 MySql安裝配置教程
在這溫馨提醒一下,一般配置路徑不要有中文,因?yàn)榭赡軙?huì)在編程過程中有許多奇奇怪怪的錯(cuò)誤。
在我們下載完并搭建好路徑之后,我推薦使用WindowBulider來進(jìn)行UI界面設(shè)計(jì)。在學(xué)過Qt的家人們應(yīng)該知道Qt有對(duì)應(yīng)專門的UI界面設(shè)計(jì)組件。而在Eclipse中也是有的(我也不知道哪個(gè)鬼才想出來的,反正好用就對(duì)了)。它的下載方式有很多種,這里推薦一種最為簡(jiǎn)單的方法:
首先打開下載好的Eclipse,選擇好工作環(huán)境之后進(jìn)入界面
Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)
點(diǎn)擊Help找到下滑欄中的Eclipse Market點(diǎn)擊打開
Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)
在Find搜索框中搜索WindowBulider點(diǎn)擊Install就會(huì)自動(dòng)安裝到Eclipse的目錄中。

二、項(xiàng)目目錄介紹

Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)
image是Source Folder類型的包,用于存儲(chǔ)圖片,就是你如果想要你的UI界面美觀的話就可以放icon和background在里面
model用于存儲(chǔ)一些模型;util用于放和MySql連接的模塊;view則放置UI界面,也就是用WindowBuilder創(chuàng)建的JavaSwing界面。

三、WindowBuilder的使用

首先創(chuàng)建登錄界面,在這里是LoginFrm.java。那么如何用WindowBuilder創(chuàng)建一個(gè)界面,操作如下
Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)
右鍵單擊想加的包,選擇New,選擇Other,之后會(huì)彈出一個(gè)界面,向下滑動(dòng)找到我們下載的WindowBuilder,點(diǎn)擊打開,
Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)
選擇Next會(huì)自動(dòng)生成一個(gè)界面。想要可視化編程則點(diǎn)擊界面下方的design按鈕。如圖:
Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)一般我們都會(huì)采用Absolute Layout,這樣可以拖拽組件到任意地方,如果有些許誤差,我們還可以點(diǎn)擊Source回到編程界面,在對(duì)應(yīng)的組件名稱創(chuàng)建的地方改變位置坐標(biāo)。

四、MySql連接Eclipse

數(shù)據(jù)庫連接方法:首先要有驅(qū)動(dòng)文件,這里是下載地址 jdbc驅(qū)動(dòng)下載地址 https://dev.mysql.com/downloads/connector/j/
下載完成后右鍵項(xiàng)目,選擇Bulid Path—Configure Build Path
Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)有的時(shí)候你會(huì)發(fā)現(xiàn)右邊的按鈕為灰色,這時(shí)只需點(diǎn)擊一下Mudulepath就行。選擇add External JARs,找到你下載的jdbc驅(qū)動(dòng)文件點(diǎn)擊添加即可。
Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)

五、數(shù)據(jù)庫信息

CREATE TABLE Student (  
  SID varchar(10) NOT NULL ,
  Sname nvarchar(10) NOT NULL ,  
  Sex nvarchar(5) check(sex='男' or sex='女') NOT NULL, 
  SchoolAge int check(Schoolage > 10 and Schoolage < 50) NOT NULL ,  
  SchoolYear int NOT NULL ,  
  Class  nvarchar(20) NOT NULL ,  
  primary key(SID)
)   


CREATE TABLE Course (  
  CID varchar(7) NOT NULL ,  
  Cname nvarchar(10) NOT NULL ,  
  TID varchar(5) NOT NULL ,  
  Credit int NOT NULL ,  
  Grade  varchar(30) NOT NULL ,  
  CancelYear  int NULL ,  
  primary key(CID)
)  


CREATE TABLE Teacher (  
  TID varchar(5) NOT NULL ,  
  Tname nvarchar(10) NOT NULL ,  
  Course nvarchar(10) NOT NULL , 
  primary key(TID)
)  


CREATE TABLE Choose (  
  SID varchar(10) NOT NULL,  
  CID varchar(7) NOT NULL,  
  TID varchar(5) NOT NULL ,  
  Score int NULL ,  
  ChooseYear  int NOT NULL ,  
  foreign key(SID) references Student(SID),
  foreign key(CID) references Course(CID),
  foreign key(TID) references Teacher(TID)
) 

CREATE TABLE Permission1 (  
  SID varchar(10) NOT NULL , 
  SPW varchar(10) NOT NULL ,  
  primary key(SID)
)  


CREATE TABLE Permission2 (   
  TID varchar(5) NOT NULL ,
  TPW varchar(10) NOT NULL , 
  primary key(TID)
)  


CREATE TABLE Permission3 (  
  MID varchar(7) NOT NULL ,  
  MPW varchar(10) NOT NULL , 
  primary key(MID)
)

六、部分代碼展示

數(shù)據(jù)庫連接代碼(DBconnection.java)

package zyz.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.Statement;
public class DBconnection {
	private static final String jdbcName="com.mysql.cj.jdbc.Driver";
    private static final String dbUrl="jdbc:mysql://localhost:3306/MDB?characterEncoding=utf8";
    private static final String dbUserName="root";
    private static final String dbPassword="462813";
    public static Connection con=null;
    /**
     * 獲取數(shù)據(jù)庫連接
     * @return
     * @throws Exception
     */
    public Connection getCon() {
    	try {
    		Class.forName(jdbcName);
    	} catch (ClassNotFoundException e) {
    		e.printStackTrace();
    	}
    	
    	try {
    		con=DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
    	}catch(SQLException e) {
    		e.printStackTrace();
    	}
    	return con;
    }
    /**
     * 關(guān)閉數(shù)據(jù)庫連接
     * @param con
     * @throws Exception
     */
    public void closeCon(Connection con)throws Exception{
    	if(con!=null) {
    		con.close();
    	}
    }
    
}

登錄功能的實(shí)現(xiàn)

	protected void loginAct(ActionEvent ae) {
		// TODO Auto-generated method stub
		String userName=userNameTextField.getText().toString();
		String password=passwordTextField.getText().toString();
		String jdbcName="com.mysql.cj.jdbc.Driver";
	     String dbUrl="jdbc:mysql://localhost:3306/MDB?characterEncoding=utf8";
	     String dbUserName="root";
	     String dbPassword="462813";
		if(StringUtil.isEmpty(userName)){
			System.out.println("用戶名不能為空");
			return;
		}
		if(adminRadioButton.isSelected()==true) {
			DBconnection dbutil=new DBconnection();
	    	try {
	    		dbutil.getCon();
	    		System.out.println("數(shù)據(jù)庫連接成功!");
	    	}catch (Exception e) {
	    		e.printStackTrace();
	    		System.out.println("數(shù)據(jù)庫連接失敗");
	    	}
		 Connection conn = null;
		try {
			conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		String sql="select * from permission3";
		try {
			 Statement stat = conn.createStatement();
			 ResultSet rs = stat.executeQuery(sql);
			 while(rs.next()) {
					if(userName.equals(rs.getString(1))) {
						if(password.equals(rs.getString(2))) {
							EventQueue.invokeLater(new Runnable() {
								public void run() {
									try {
										adminFrm.frame3 = new adminFrm();
										adminFrm.frame3.setVisible(true);
									} catch (Exception e) {
										e.printStackTrace();
									}
								}
							});
						    frame.dispose();
					   }
					}
				}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
		if(teacherRadioButton.isSelected()==true) {
			DBconnection dbutil1=new DBconnection();
	    	try {
	    		dbutil1.getCon();
	    		System.out.println("數(shù)據(jù)庫連接成功!");
	    	}catch (Exception e) {
	    		e.printStackTrace();
	    		System.out.println("數(shù)據(jù)庫連接失敗");
	    	}
		 Connection conne = null;
		try {
			conne = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		String sql1="select * from permission2";
		try {
			 Statement state = conne.createStatement();
			 ResultSet rs1 = state.executeQuery(sql1);
			 while(rs1.next()) {
				 String temp=rs1.getString(1);
					if(userName.equals(temp)) {
						if(password.equals(rs1.getString(2))) {
							EventQueue.invokeLater(new Runnable() {
								public void run() {
									try {
										teacherFrm.frame8  = new teacherFrm();
										teacherFrm.frame8.setextend(temp);
										teacherFrm.frame8.setVisible(true);
									} catch (Exception e) {
										e.printStackTrace();
									}
								}
							});
						    frame.dispose();
					   }
					}
				}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
		if(studentRadioButton.isSelected()==true) {
			DBconnection dbutil2=new DBconnection();
	    	try {
	    		dbutil2.getCon();
	    		System.out.println("數(shù)據(jù)庫連接成功!");
	    	}catch (Exception e) {
	    		e.printStackTrace();
	    		System.out.println("數(shù)據(jù)庫連接失敗");
	    	}
		 Connection conn2 = null;
		try {
			conn2 = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		String sql2="select * from permission1";
		try {
			 Statement stat2 = conn2.createStatement();
			 ResultSet rs2 = stat2.executeQuery(sql2);
			 while(rs2.next()) {
				 String temp1=rs2.getString(1);
				 String temp2=rs2.getString(2);
					if(userName.equals(temp1)) {
						if(password.equals(temp2)) {
							EventQueue.invokeLater(new Runnable() {
								public void run() {
									try {
										studentFrm.frame7  = new studentFrm();
										studentFrm.frame7.setextend(temp1);
										studentFrm.frame7.setVisible(true);
									} catch (Exception e) {
										e.printStackTrace();
									}
								}
							});
						    frame.dispose();
					   }
					}
				}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	}

數(shù)據(jù)庫添加操作

String t1=idtextField.getText().toString();
				String t2=nametextField.getText().toString();
				String t3=sextextField.getText().toString();
				String t4=enterYearTextField.getText().toString();
				String t5=enterAgeTextField.getText().toString();
				String t6=classtextField.getText().toString();
				String jdbcName="com.mysql.cj.jdbc.Driver";
			     String dbUrl="jdbc:mysql://localhost:3306/MDB?characterEncoding=utf8";
			     String dbUserName="root";
			     String dbPassword="462813";
				if(studentNewRadioButton.isSelected()==true) {
					DBconnection dbutil=new DBconnection();
			    	try {
			    		dbutil.getCon();
			    		System.out.println("數(shù)據(jù)庫連接成功!");
			    	}catch (Exception e) {
			    		e.printStackTrace();
			    		System.out.println("數(shù)據(jù)庫連接失敗");
			    	}
				 Connection conn = null;
				try {
					conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				String sql = "insert into student(SID,Sname,Sex,SchoolAge,SchoolYear,Class) values ('"
				+t1+"','"+t2+"','"+t3+"','"+t4+"','"+t5+"','"+t6+"')" ;
				try {
					 Statement stat = conn.createStatement();
					 int i = stat.executeUpdate(sql);
						if (i>0) {
							JOptionPane.showMessageDialog(null, "添加成功!", "關(guān)于添加操作",JOptionPane.INFORMATION_MESSAGE);
							System.out.println("添加成功!");
						}
						else {
							JOptionPane.showMessageDialog(null, "添加失敗,請(qǐng)檢查!", "關(guān)于添加操作", JOptionPane. ERROR_MESSAGE);
							System.out.println("添加失敗!");
						}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			  }
				if(teacherNewRadioButton.isSelected()==true) {
					DBconnection dbutil=new DBconnection();
			    	try {
			    		dbutil.getCon();
			    		System.out.println("數(shù)據(jù)庫連接成功!");
			    	}catch (Exception e) {
			    		e.printStackTrace();
			    		System.out.println("數(shù)據(jù)庫連接失敗");
			    	}
				 Connection conn = null;
				try {
					conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				String sql = "insert into course(TID,Tname,Course) values ('"
				+t1+"','"+t2+"','"+t3+"')" ;
				try {
					 Statement stat = conn.createStatement();
					 int i = stat.executeUpdate(sql);
						if (i>0) {
							JOptionPane.showMessageDialog(null, "添加成功!", "關(guān)于添加操作",JOptionPane.INFORMATION_MESSAGE);
							System.out.println("添加成功!");
						}
						else {
							JOptionPane.showMessageDialog(null, "添加失敗,請(qǐng)檢查!", "關(guān)于添加操作", JOptionPane. ERROR_MESSAGE);
							System.out.println("添加失??!");
						}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			  }
				if(courseNewRadioButton.isSelected()==true) {
					DBconnection dbutil=new DBconnection();
			    	try {
			    		dbutil.getCon();
			    		System.out.println("數(shù)據(jù)庫連接成功!");
			    	}catch (Exception e) {
			    		e.printStackTrace();
			    		System.out.println("數(shù)據(jù)庫連接失敗");
			    	}
				 Connection conn = null;
				try {
					conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				String sql = "insert into course(CID,Cname,TID,Credit,Grade,CancelYear) values ('"
				+t1+"','"+t2+"','"+t3+"','"+t4+"','"+t5+"','"+t6+"')" ;
				try {
					 Statement stat = conn.createStatement();
					 int i = stat.executeUpdate(sql);
						if (i>0) {
							JOptionPane.showMessageDialog(null, "添加成功!", "關(guān)于添加操作",JOptionPane.INFORMATION_MESSAGE);
							System.out.println("添加成功!");
						}
						else {
							JOptionPane.showMessageDialog(null, "添加失敗,請(qǐng)檢查!", "關(guān)于添加操作", JOptionPane. ERROR_MESSAGE);
							System.out.println("添加失??!");
						}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			  }
				if(chooseNewRadioButton.isSelected()==true) {
					DBconnection dbutil=new DBconnection();
			    	try {
			    		dbutil.getCon();
			    		System.out.println("數(shù)據(jù)庫連接成功!");
			    	}catch (Exception e) {
			    		e.printStackTrace();
			    		System.out.println("數(shù)據(jù)庫連接失敗");
			    	}
				 Connection conn = null;
				try {
					conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				String sql = "insert into choose(SID,CID,TID,Score,ChooseYear) values ('"
				+t1+"','"+t2+"','"+t3+"','"+t4+"','"+t5+"')" ;
				try {
					 Statement stat = conn.createStatement();
					 int i = stat.executeUpdate(sql);
						if (i>0) {
							JOptionPane.showMessageDialog(null, "添加成功!", "關(guān)于添加操作",JOptionPane.INFORMATION_MESSAGE);
							System.out.println("添加成功!");
						}
						else {
							JOptionPane.showMessageDialog(null, "添加失敗,請(qǐng)檢查!", "關(guān)于添加操作", JOptionPane. ERROR_MESSAGE);
							System.out.println("添加失??!");
						}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			  }

數(shù)據(jù)庫刪除操作

String id1=ID_1textField.getText().toString();
				String id2=ID_2textField.getText().toString();
				String jdbcName="com.mysql.cj.jdbc.Driver";
			     String dbUrl="jdbc:mysql://localhost:3306/MDB?characterEncoding=utf8";
			     String dbUserName="root";
			     String dbPassword="462813";
				if(deleteStudentRadioButton.isSelected()==true) {
					DBconnection dbutil=new DBconnection();
			    	try {
			    		dbutil.getCon();
			    		System.out.println("數(shù)據(jù)庫連接成功!");
			    	}catch (Exception e) {
			    		e.printStackTrace();
			    		System.out.println("數(shù)據(jù)庫連接失敗");
			    	}
				 Connection conn = null;
				try {
					conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				String sql = "delete from student where SID='"+id1+"'";
				try {
					 Statement stat = conn.createStatement();
					 int i = stat.executeUpdate(sql);
						if (i>0) {
							JOptionPane.showMessageDialog(null, "刪除成功!", "關(guān)于刪除操作",JOptionPane.INFORMATION_MESSAGE);
							System.out.println("刪除成功!");
						}
						else {
							JOptionPane.showMessageDialog(null, "刪除失敗,請(qǐng)檢查!", "關(guān)于刪除操作", JOptionPane. ERROR_MESSAGE);
							System.out.println("刪除失敗!");
						}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			  }
				if(deleteTeacherRadioButton.isSelected()==true) {
					DBconnection dbutil=new DBconnection();
			    	try {
			    		dbutil.getCon();
			    		System.out.println("數(shù)據(jù)庫連接成功!");
			    	}catch (Exception e) {
			    		e.printStackTrace();
			    		System.out.println("數(shù)據(jù)庫連接失敗");
			    	}
				 Connection conn = null;
				try {
					conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				String sql = "delete from teacher where TID='"+id1+"'";
				try {
					 Statement stat = conn.createStatement();
					 int i = stat.executeUpdate(sql);
						if (i>0) {
							JOptionPane.showMessageDialog(null, "刪除成功!", "關(guān)于刪除操作",JOptionPane.INFORMATION_MESSAGE);
							System.out.println("刪除成功!");
						}
						else {
							JOptionPane.showMessageDialog(null, "刪除失敗,請(qǐng)檢查!", "關(guān)于刪除操作", JOptionPane. ERROR_MESSAGE);
							System.out.println("刪除失?。?);
						}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			  }
				if(deleteCourseRadioButton.isSelected()==true) {
					DBconnection dbutil=new DBconnection();
			    	try {
			    		dbutil.getCon();
			    		System.out.println("數(shù)據(jù)庫連接成功!");
			    	}catch (Exception e) {
			    		e.printStackTrace();
			    		System.out.println("數(shù)據(jù)庫連接失敗");
			    	}
				 Connection conn = null;
				try {
					conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				String sql = "delete from course where CID='"+id1+"'";
				try {
					 Statement stat = conn.createStatement();
					 int i = stat.executeUpdate(sql);
						if (i>0) {
							JOptionPane.showMessageDialog(null, "刪除成功!", "關(guān)于刪除操作",JOptionPane.INFORMATION_MESSAGE);
							System.out.println("刪除成功!");
						}
						else {
							JOptionPane.showMessageDialog(null, "刪除失敗,請(qǐng)檢查!", "關(guān)于刪除操作", JOptionPane. ERROR_MESSAGE);
							System.out.println("刪除失敗!");
						}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			  }
				if(deleteChooseRadioButton.isSelected()==true) {
					DBconnection dbutil=new DBconnection();
			    	try {
			    		dbutil.getCon();
			    		System.out.println("數(shù)據(jù)庫連接成功!");
			    	}catch (Exception e) {
			    		e.printStackTrace();
			    		System.out.println("數(shù)據(jù)庫連接失敗");
			    	}
				 Connection conn = null;
				try {
					conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				String sql = "delete from choose where SID='"+id1+"'"+" and CID='"+id2+"'";
				try {
					 Statement stat = conn.createStatement();
					 int i = stat.executeUpdate(sql);
						if (i>0) {
							JOptionPane.showMessageDialog(null, "刪除成功!", "關(guān)于刪除操作",JOptionPane.INFORMATION_MESSAGE);
							System.out.println("刪除成功!");
						}
						else {
							JOptionPane.showMessageDialog(null, "刪除失敗,請(qǐng)檢查!", "關(guān)于刪除操作", JOptionPane. ERROR_MESSAGE);
							System.out.println("刪除失?。?);
						}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			  }

數(shù)據(jù)庫修改操作

String chooseColumn=chooseColumnTextField.getText().toString();
				String userID=userIDtextField.getText().toString();
				String alterValue=alterValueTextField.getText().toString();
				String jdbcName="com.mysql.cj.jdbc.Driver";
			     String dbUrl="jdbc:mysql://localhost:3306/MDB?characterEncoding=utf8";
			     String dbUserName="root";
			     String dbPassword="462813";
				if(studentRadioButton.isSelected()==true) {
					DBconnection dbutil=new DBconnection();
			    	try {
			    		dbutil.getCon();
			    		System.out.println("數(shù)據(jù)庫連接成功!");
			    	}catch (Exception e) {
			    		e.printStackTrace();
			    		System.out.println("數(shù)據(jù)庫連接失敗");
			    	}
				 Connection conn = null;
				try {
					conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				if(chooseColumn.equals("2")) {chooseColumn="Sname";}
				else if(chooseColumn.equals("3")) {chooseColumn="Sex";}
				else if(chooseColumn.equals("4")) {chooseColumn="SchoolAge";}
				else if(chooseColumn.equals("5")) {chooseColumn="SchoolYear";}
				else if(chooseColumn.equals("6")) {chooseColumn="Class";}
				String sql="update student set `"+chooseColumn+"`='"+alterValue+"' where `SID` = '"+userID+"'";
				try {
					 Statement stat = conn.createStatement();
					 int i = stat.executeUpdate(sql);
						if (i>0) {
							JOptionPane.showMessageDialog(null, "修改成功!", "關(guān)于修改操作",JOptionPane.INFORMATION_MESSAGE);
							System.out.println("修改成功!");
						}
						else {
							JOptionPane.showMessageDialog(null, "修改失敗,請(qǐng)檢查!", "關(guān)于修改操作", JOptionPane. ERROR_MESSAGE);
							System.out.println("修改失敗!");
						}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			  }
				if(teacherNewRadioButton.isSelected()==true) {
					DBconnection dbutil=new DBconnection();
			    	try {
			    		dbutil.getCon();
			    		System.out.println("數(shù)據(jù)庫連接成功!");
			    	}catch (Exception e) {
			    		e.printStackTrace();
			    		System.out.println("數(shù)據(jù)庫連接失敗");
			    	}
				 Connection conn = null;
				try {
					conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				if(chooseColumn.equals("2")) {chooseColumn="Tname";}
				else if(chooseColumn.equals("3")) {chooseColumn="Course";}
				String sql="update teacher set `"+chooseColumn+"`='"+alterValue+"' where `TID` = '"+userID+"'";
				try {
					 Statement stat = conn.createStatement();
					 int i = stat.executeUpdate(sql);
						if (i>0) {
							JOptionPane.showMessageDialog(null, "修改成功!", "關(guān)于修改操作",JOptionPane.INFORMATION_MESSAGE);
							System.out.println("修改成功!");
						}
						else {
							JOptionPane.showMessageDialog(null, "修改失敗,請(qǐng)檢查!", "關(guān)于修改操作", JOptionPane. ERROR_MESSAGE);
							System.out.println("修改失?。?);
						}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			  }
				if(courseNewRadioButton.isSelected()==true) {
					DBconnection dbutil=new DBconnection();
			    	try {
			    		dbutil.getCon();
			    		System.out.println("數(shù)據(jù)庫連接成功!");
			    	}catch (Exception e) {
			    		e.printStackTrace();
			    		System.out.println("數(shù)據(jù)庫連接失敗");
			    	}
				 Connection conn = null;
				try {
					conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				if(chooseColumn.equals("2")) {chooseColumn="Cname";}
				else if(chooseColumn.equals("3")) {chooseColumn="TID";}
				else if(chooseColumn.equals("4")) {chooseColumn="Credit";}
				else if(chooseColumn.equals("5")) {chooseColumn="Grade";}
				else if(chooseColumn.equals("6")) {chooseColumn="CancleYear";}
				String sql="update course set `"+chooseColumn+"`='"+alterValue+"' where `CID` = '"+userID+"'";
				try {
					 Statement stat = conn.createStatement();
					 int i = stat.executeUpdate(sql);
						if (i>0) {
							JOptionPane.showMessageDialog(null, "修改成功!", "關(guān)于修改操作",JOptionPane.INFORMATION_MESSAGE);
							System.out.println("修改成功!");
						}
						else {
							JOptionPane.showMessageDialog(null, "修改失敗,請(qǐng)檢查!", "關(guān)于修改操作", JOptionPane. ERROR_MESSAGE);
							System.out.println("修改失?。?);
						}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			  }
				if(courseNewRadioButton.isSelected()==true) {
					DBconnection dbutil=new DBconnection();
			    	try {
			    		dbutil.getCon();
			    		System.out.println("數(shù)據(jù)庫連接成功!");
			    	}catch (Exception e) {
			    		e.printStackTrace();
			    		System.out.println("數(shù)據(jù)庫連接失敗");
			    	}
				 Connection conn = null;
				try {
					conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				if(chooseColumn.equals("2")) {chooseColumn="Cname";}
				else if(chooseColumn.equals("3")) {chooseColumn="TID";}
				else if(chooseColumn.equals("4")) {chooseColumn="Credit";}
				else if(chooseColumn.equals("5")) {chooseColumn="Grade";}
				else if(chooseColumn.equals("6")) {chooseColumn="CancleYear";}
				String sql="update course set `"+chooseColumn+"`='"+alterValue+"' where `CID` = '"+userID+"'";
				try {
					 Statement stat = conn.createStatement();
					 int i = stat.executeUpdate(sql);
						if (i>0) {
							JOptionPane.showMessageDialog(null, "修改成功!", "關(guān)于修改操作",JOptionPane.INFORMATION_MESSAGE);
							System.out.println("修改成功!");
						}
						else {
							JOptionPane.showMessageDialog(null, "修改失敗,請(qǐng)檢查!", "關(guān)于修改操作", JOptionPane. ERROR_MESSAGE);
							System.out.println("修改失?。?);
						}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			  }
				if(chooseNewRadioButton.isSelected()==true) {
					DBconnection dbutil=new DBconnection();
			    	try {
			    		dbutil.getCon();
			    		System.out.println("數(shù)據(jù)庫連接成功!");
			    	}catch (Exception e) {
			    		e.printStackTrace();
			    		System.out.println("數(shù)據(jù)庫連接失敗");
			    	}
				 Connection conn = null;
				try {
					conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				if(chooseColumn.equals("1")) {chooseColumn="SID";}
				else if(chooseColumn.equals("2")) {chooseColumn="CID";}
				else if(chooseColumn.equals("3")) {chooseColumn="TID";}
				else if(chooseColumn.equals("4")) {chooseColumn="Score";}
				else if(chooseColumn.equals("5")) {chooseColumn="ChooseYear";}
				String sql="update choose set `"+chooseColumn+"`='"+alterValue+"' where `CID` = '"+userID+"'";
				try {
					 Statement stat = conn.createStatement();
					 int i = stat.executeUpdate(sql);
						if (i>0) {
							JOptionPane.showMessageDialog(null, "修改成功!", "關(guān)于修改操作",JOptionPane.INFORMATION_MESSAGE);
							System.out.println("修改成功!");
						}
						else {
							JOptionPane.showMessageDialog(null, "修改失敗,請(qǐng)檢查!", "關(guān)于修改操作", JOptionPane. ERROR_MESSAGE);
							System.out.println("修改失??!");
						}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			  }

七、小坑避免

在我寫登錄界面時(shí),是用ResultSet對(duì)數(shù)據(jù)庫數(shù)據(jù)進(jìn)行訪問,

 Statement state = conne.createStatement();
			 ResultSet rs1 = state.executeQuery(sql1);
			 while(rs1.next()) {
				 String temp=rs1.getString(1);
					if(userName.equals(temp)) {
						if(password.equals(rs1.getString(2))) {
							EventQueue.invokeLater(new Runnable() {
								public void run() {
									try {
										teacherFrm.frame8  = new teacherFrm();
										teacherFrm.frame8.setextend(temp);
										teacherFrm.frame8.setVisible(true);
									} catch (Exception e) {
										e.printStackTrace();
									}
								}
							});
						    frame.dispose();
					   }
					}
				}

這里如果不用temp對(duì)rs1.getString(1)進(jìn)行替換而是直接是用的話就會(huì)報(bào)錯(cuò)。原因目前我也不大清楚,希望有大佬可以給予講解。
在頁面跳轉(zhuǎn)中,我看了網(wǎng)上教程,都感覺有點(diǎn)云里霧里。我這里推薦一個(gè)比較簡(jiǎn)單的操作方式,在每個(gè)JavaSwing界面都加上一個(gè)public公有成員。以本項(xiàng)目為例,如果我們要實(shí)現(xiàn)LoginFrm(登錄界面)和adminFrm(管理員界面)的跳轉(zhuǎn),我們只需要在LoginFrm中加入public static LoginFrm frame;公有成員以及public static void LoginFrmClose()公有函數(shù)

public class LoginFrm extends JFrame {

	private JPanel contentPane;
	private JTextField userNameTextField;
	private JTextField passwordTextField;
	private JRadioButton adminRadioButton;
	private JRadioButton teacherRadioButton;
	private JRadioButton studentRadioButton;
	public static LoginFrm frame;
	private final Action action = new SwingAction();

	/**
	 * Launch the application.
	 */
	public static void LoginFrmClose() {
		frame.dispose();
	}

而在adminFrm中加入public static adminFrm frame3;公有成員和public static void adminFrmClose() 公有函數(shù)

public class adminFrm extends JFrame {

	private JPanel contentPane;
	private JTextField nameTextField;
	private JTextField idtextField;
	private JTextPane textPane;
	public static adminFrm frame3;
    public static void adminFrmClose() {
    	frame3.dispose();
    }

在控制另一個(gè)界面打開時(shí),這個(gè)界面就關(guān)閉。我們采取一下代碼

\\關(guān)閉adminFrm,打開LoginFrm,實(shí)現(xiàn)adminFrm中退出功能
EventQueue.invokeLater(new Runnable() {
					public void run() {
						try {
							LoginFrm.frame  = new LoginFrm();
							LoginFrm.frame.setVisible(true);
						    frame3.adminFrmClose();
						} catch (Exception e) {
							e.printStackTrace();
						}
					}
				});
\\關(guān)閉LoginFrm,打開adminFrm,實(shí)現(xiàn)LoginFrm中管理員登錄功能
EventQueue.invokeLater(new Runnable() {
								public void run() {
									try {
										adminFrm.frame3 = new adminFrm();
										adminFrm.frame3.setVisible(true);
										frame.dispose();
									} catch (Exception e) {
										e.printStackTrace();
									}
								}
							});

而此項(xiàng)目還未完成是因?yàn)闊o法處理較大量的數(shù)據(jù),只適用于應(yīng)付DDL,如果需要的話可以自行在achievementStatic.java的classScoreNewButton按鈕監(jiān)聽時(shí)間中用String鏈表替換String。

測(cè)試數(shù)據(jù)

use MDB;
alter table choose NOCHECK constraint all;
alter table student NOCHECK constraint all;
alter table course NOCHECK constraint all;
alter table teacher NOCHECK constraint all;
alter table choose DISABLE trigger all;
alter table student DISABLE trigger all;
alter table course DISABLE trigger all;
alter table teacher DISABLE trigger all;
insert into Student values('1561401613',N'毛挺','男','18','2015',N'計(jì)聯(lián)');
insert into Student values('1530561331',N'談力','男','18','2015',N'計(jì)聯(lián)');
insert into Student values('1530501085',N'晁陽','男','19','2015',N'計(jì)聯(lián)');
insert into Student values('1530591376',N'韓梅梅','女','17','2015',N'計(jì)科');

insert into Course values('1008060',N'算法','10001',2,'2','2019');
insert into Course values('1203006',N'計(jì)組','10003',1,'2','2018');
insert into Course values('3009405',N'java','20010',2,'1','2020');
insert into Course values('7787564',N'經(jīng)濟(jì)學(xué)','35790',1,'1','2020');

insert into Teacher values('10001',N'顏老師',N'算法');
insert into Teacher values('10003',N'毛老師',N'計(jì)組');
insert into Teacher values('20010',N'張老師',N'java');
insert into Teacher values('35790',N'田老師',N'經(jīng)濟(jì)學(xué)');

insert into Choose values('1561401613','1008060','10001',95,null);
insert into Choose values('1561401613','1203006','10003',92,null);
insert into Choose values('1561401613','3009405','20010',94,null);
insert into Choose values('1530561331','1008060','10001',96,null);
insert into Choose values('1530561331','1203006','10003',88,null);
insert into Choose values('1530591376','1203006','10003',94,null);
insert into Choose values('1530591376','3009405','20010',92,null);

insert into Permission1  values('1561401613','111111');
insert into Permission1  values('1530561331','222222');
insert into Permission1  values('1530501085','333333');
insert into Permission1  values('1530591376','444444');

insert into Permission2  values('10001','555555');
insert into Permission2  values('10003','666666');
insert into Permission2  values('30405','777777');
insert into Permission2  values('35790','888888');

insert into Permission3  values('24680','100000');
select * from choose;
select * from Student;
select * from Teacher;
select * from Course;
select * from Permission1;
select * from Permission2;
select * from Permission3;

第一次做有關(guān)項(xiàng)目可能結(jié)構(gòu)不是很好,地址在這
https://download.csdn.net/download/qq_50062694/85322004文章來源地址http://www.zghlxwxcb.cn/news/detail-438344.html

到了這里,關(guān)于Eclipse+MySql+JavaSwing(WindowBuilder)學(xué)生管理系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于javaSwing、MySQL的酒店客房管理系統(tǒng)(附源碼)

    基于javaSwing、MySQL的酒店客房管理系統(tǒng)(附源碼)

    由于近期詢要的人過多,自行加群769119544領(lǐng)取源碼 目錄 一、功能需求 二、數(shù)據(jù)字典 1.數(shù)據(jù)流條目 2.文件條目 三、用例圖 四、數(shù)據(jù)流圖 五、E-R圖 六、系統(tǒng)框架? 七、數(shù)據(jù)庫設(shè)計(jì) 八、界面設(shè)計(jì) 九、代碼展示 1、數(shù)據(jù)表對(duì)象層(domain層) 1.1、房間對(duì)象初始化 1.2、旅客對(duì)象初始

    2024年02月03日
    瀏覽(21)
  • JavaSwing+MySQL的學(xué)生選課系統(tǒng)

    JavaSwing+MySQL的學(xué)生選課系統(tǒng)

    點(diǎn)擊以下鏈接獲取源碼: https://download.csdn.net/download/qq_64505944/88101629?spm=1001.2014.3001.5503 Jdk:1.8 MySQL:5.7 功能:可以進(jìn)行選課與查看學(xué)生基本資料 在這里插入圖片描述

    2024年02月15日
    瀏覽(16)
  • JSP 學(xué)生成績(jī)查詢管理系統(tǒng)eclipse開發(fā)sql數(shù)據(jù)庫serlvet框架bs模式j(luò)ava編程MVC結(jié)構(gòu)

    JSP 學(xué)生成績(jī)查詢管理系統(tǒng)eclipse開發(fā)sql數(shù)據(jù)庫serlvet框架bs模式j(luò)ava編程MVC結(jié)構(gòu)

    一、源碼特點(diǎn) ? JSP 學(xué)生成績(jī)查詢管理系統(tǒng) 是一套完善的web設(shè)計(jì)系統(tǒng),對(duì)理解JSP java編程開發(fā)語言有幫助,比較流行的servlet框架系統(tǒng)具有完整的源代碼和數(shù)據(jù)庫,eclipse開發(fā)系統(tǒng)主要采用B/S模式 開發(fā)。 java 學(xué)生成績(jī)查詢管理系統(tǒng) 代碼下載鏈接 https://download.csdn.net/download/qq_412

    2024年02月05日
    瀏覽(31)
  • mysql 學(xué)生信息管理系統(tǒng)

    mysql 學(xué)生信息管理系統(tǒng)

    一、分析 ①業(yè)務(wù)分析: 學(xué)生信息管理系統(tǒng)是面向?qū)W生和學(xué)校教師的一個(gè)多功能數(shù)據(jù)管理平臺(tái) ②系統(tǒng)分析: 本系統(tǒng)所涉及到的用戶有學(xué)校學(xué)生和教師,對(duì)于不同的用戶系統(tǒng)所提供的功能也有所不同,其中對(duì)于學(xué)生來說,學(xué)生可以提供該系統(tǒng)進(jìn)行自身數(shù)據(jù)的查詢,教師可以通過

    2024年02月10日
    瀏覽(24)
  • 學(xué)生管理系統(tǒng)(MySQL版)

    學(xué)生管理系統(tǒng)(MySQL版)

    學(xué)號(hào) 姓名 性 別 年齡 班級(jí) 專業(yè) 學(xué)院 電話 2021001 李曉紅 女 30 2021級(jí)軟件4班 軟件技術(shù) 人工智能與大數(shù)據(jù)學(xué)院 15945456780 2021002 王曉剛 男 18 2021級(jí)軟件4班 軟件技術(shù) 人工智能與大數(shù)據(jù)學(xué)院 13890904567 2021003 唐雨涵 女 19 2021級(jí)軟件4班 軟件技術(shù) 人工智能與大數(shù)據(jù)學(xué)院 18878789023 202110

    2024年02月08日
    瀏覽(15)
  • mysql練習(xí)-學(xué)生信息管理系統(tǒng)

    mysql練習(xí)-學(xué)生信息管理系統(tǒng)

    1.1業(yè)務(wù)分析 學(xué)生信息管理系統(tǒng)是面向?qū)W生和學(xué)校教師的一個(gè)多功能數(shù)據(jù)管理平臺(tái),學(xué)生信息管理是高等教學(xué)管理系統(tǒng)中很重要的功能之一,該系統(tǒng)主要滿足教師和學(xué)生用戶需求。 1.2分析系統(tǒng) 系統(tǒng)面向的用戶、系統(tǒng)的功能 本系統(tǒng)面向的用戶有學(xué)校在校學(xué)生、教師以及系統(tǒng)管理

    2024年02月09日
    瀏覽(23)
  • 學(xué)生管理系統(tǒng)--java+mysql

    學(xué)生管理系統(tǒng)--java+mysql

    練習(xí):完成學(xué)生信息的增刪查改(根據(jù)id),項(xiàng)目進(jìn)行了三層架構(gòu)進(jìn)行創(chuàng)建。 pojo層,dao層,service層,utils層,程序入口; 實(shí)體層 數(shù)據(jù)庫在項(xiàng)目中的類 Entity層是實(shí)體層,也就是所謂的model,也稱為pojo層,是數(shù)據(jù)庫在項(xiàng)目中的類,該文件包含實(shí)體類的屬性和對(duì)應(yīng)屬性的set、ge

    2024年02月16日
    瀏覽(15)
  • 學(xué)生信息管理系統(tǒng)(php+mysql)

    學(xué)生信息管理系統(tǒng)(php+mysql)

    本系統(tǒng)是較為簡(jiǎn)單的一個(gè)可以完成 學(xué)生信息、學(xué)生成績(jī) 的增刪改查,按照 班級(jí)學(xué)科查詢 學(xué)生成績(jī),查看所有表單,簡(jiǎn)單的完成 學(xué)生選課與刪除 , 查詢考課名單 等功能。 本系統(tǒng)為本人的期末大作業(yè),所以有很多有待修改的bug以及很多有待優(yōu)化的功能。 1.主界面(index.php)

    2024年02月03日
    瀏覽(27)
  • javaEE+mysql學(xué)生競(jìng)賽管理系統(tǒng)

    javaEE+mysql學(xué)生競(jìng)賽管理系統(tǒng)

    本系統(tǒng)是基于JAVA平臺(tái)開發(fā)的一套學(xué)生競(jìng)賽信息管理的系統(tǒng)。系統(tǒng)采用JSP為編程語言。數(shù)據(jù)庫采用Mysql建立數(shù)據(jù)之間的轉(zhuǎn)換。論文主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點(diǎn)的說明了系統(tǒng)設(shè)計(jì)的重點(diǎn)、設(shè)計(jì)思想、難點(diǎn)技術(shù)和解決方案。 本課題的目的是使

    2024年02月02日
    瀏覽(41)
  • 學(xué)生信息管理系統(tǒng)MySql課程設(shè)計(jì)

    學(xué)生信息管理系統(tǒng)MySql課程設(shè)計(jì)

    本篇文章是第一次發(fā)布在這個(gè)平臺(tái)上,文章的內(nèi)容是平時(shí)課程的一個(gè)小作業(yè),由于時(shí)間不足,還有很多內(nèi)容沒有完善好,會(huì)繼續(xù)下一次的修改,對(duì)該學(xué)生管理系統(tǒng)進(jìn)行修改和創(chuàng)新, 一、 分析 1.1 業(yè)務(wù)分析 ? 學(xué)生信息管理系統(tǒng)是一個(gè)面向?qū)W生和學(xué)校老師的一個(gè)多功能數(shù)據(jù)平臺(tái)

    2024年02月06日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包