JAVA学生宿舍管理系统
转:
JAVA学生宿舍管理系统
需要的工具
 1.SQL Server
 2.Eclipse
 3.JDBC连接数据库驱动
 https://download.microsoft.com/download/A/F/B/AFB381FF-7037-46CE-AF9B-6B1875EA81D7/sqljdbc_6.0.8112.200_chs.exe
功能实现
 分为三大类
 1.land.java (登陆界面)
 2.system.java (系统管理界面)
 3.sql.java (数据库操作,包括连接、断开、增删改查等操作)
一、登陆界面及代码
 
部分代码:
登陆按钮事件
public void actionPerformed(ActionEvent e) {
	// TODO Auto-generated method stub
		if((JButton)e.getSource()== buttonLand)
		{
		String name = textName.getText().trim();
		String password = String.valueOf(textPassword.getPassword()).trim();
	    int num = sq.landing(name, password);
	    if(num==1)
	    {
	    	JOptionPane.showMessageDialog(frame, "欢迎进入学生宿舍管理系统!","提示:",JOptionPane.PLAIN_MESSAGE);
	    	system system = new system();
	    	frame.dispose();
	    }
	    else
	    {
	    	JOptionPane.showMessageDialog(frame, "账号或者密码错误!","提示:",JOptionPane.ERROR_MESSAGE);
	    }
		}
	}
二、系统管理界面及代码**(这里只添加了俩个表,多少表都是一样的道理**)
增加数据:点击增加按钮会出现一空白行,填写完点击保存即可
 保存(更新)数据:直接在表中进行相应的操作,再点击保存即可
 删除数据:选择某行,点击删除按钮即可


 部分代码:
//--------------------------------------按钮事件--------------------------------
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		//------------------------------- 删除-----------------------------
		String tableName = null;
		String key1 = null;
		if((JButton)e.getSource()==buttonDelete)
		{   if(paneParent.getSelectedIndex()==1)
			{
				tableName = "学生信息表";
				key1 = "sno";
			}
			if(paneParent.getSelectedIndex()==2)
			{
				tableName = "宿舍信息表";
				key1 = "dno";
			}
			int row = table.getSelectedRow();
			if(row!=-1)
			{
				String key2 = (String) tableModel.getValueAt(row, 0);
				int result = JOptionPane.showConfirmDialog(null, "确定要删除吗?","请确认",JOptionPane.YES_NO_OPTION);
				if(result==JOptionPane.OK_OPTION)
				{
					String sql = "delete from "+tableName+" where "+key1+"="+key2;
					int num = sq.delete(sql);
					if(num>0)
					{
						tableModel.removeRow(row);
					}
				}
			}
			else
			{
				JOptionPane.showMessageDialog(null, "请选择要删除的行!","提示:",JOptionPane.ERROR_MESSAGE);
			}
		}
		//------------------------------保存------------------------
		if((JButton)e.getSource()==buttonSave)
		{
			int result = JOptionPane.showConfirmDialog(null, "请确认数值已经更改,否则保存无效","请确认",JOptionPane.YES_NO_OPTION);
			if(result==JOptionPane.OK_OPTION)
			{
				int row = table.getRowCount();
				int column = table.getColumnCount();
				String[][]valueRow= new String[row][column];
				String[] sqlvalue  = new String[row];
				for(int i = 0; i < row; i++)
				{
					for(int j = 0; j < column; j++)
					{
						valueRow[i][j] = table.getValueAt(i, j).toString();
					}
				}
				if(paneParent.getSelectedIndex()==1)
				{
					for(int i =0;i());
		}
	}
三、sql.java (重要)
public class SQL {
    public  Connection conn;
    public  Statement st;
    public  ResultSet rs;
//----------------------------获取链接--------------------------------
public Connection getConn() throws SQLException, ClassNotFoundException
{
  String driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
  String url = "jdbc:sqlserver://localhost:1433;databaseName=学习宿舍";
//:1433为数据库默认端口号,学习宿舍为数据库名字
  String user = "sa"; //登录用户名
  String password = "123456"; //登录密码
  try {
   Class.forName(driverClassName);
   conn = DriverManager.getConnection(url, user, password);
   System.out.println("数据库连接成功");
  } catch (SQLException ex1)
  {
   System.out.println("数据库连接失败");
  }
  return conn;
}
//-----------------------------------关闭链接----------------------------------
public  void Close()
{
  try {
	rs.close();
} catch (SQLException e) {
	e.printStackTrace();
}
  try {
	st.close();
} catch (SQLException e1) {
	e1.printStackTrace();
}
  try {
	conn.close();
} catch (SQLException e) {
	e.printStackTrace();
}
}
//----------------------------------------登陆---------------------------------
public int landing(String name1,String password1)
{
	int num = 0;
	String sql = "select *from 用户表";
	try{
		getConn();
		st = conn.createStatement();
		rs = st.executeQuery(sql);
		while(rs.next())
		{
			String name = rs.getString(1).trim();
			String password = rs.getString(2).trim();
			if(name.equals(name1)&&password.equals(password1))
			{
				num = 1;
			}
		}
	}catch (SQLException e) {
		// TODO: handle exception
	} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	Close();
	return num;
}
//--------------------------------查询-------------------------------
public Vector> query(String tableName,int column)
{
	int num = 0;
	String sql = "select *from "+tableName;
	Vector> data = new Vector>();
	try{
		getConn();
		st = conn.createStatement();
		rs=st.executeQuery(sql);
		while(rs.next())
		{
			Vector
												
											需要的工具
 1.SQL Server
 2.Eclipse
 3.JDBC连接数据库驱动
 https://download.microsoft.com/download/A/F/B/AFB381FF-7037-46CE-AF9B-6B1875EA81D7/sqljdbc_6.0.8112.200_chs.exe
功能实现
 分为三大类
 1.land.java (登陆界面)
 2.system.java (系统管理界面)
 3.sql.java (数据库操作,包括连接、断开、增删改查等操作)
一、登陆界面及代码
 
部分代码:
登陆按钮事件
public void actionPerformed(ActionEvent e) {
	// TODO Auto-generated method stub
		if((JButton)e.getSource()== buttonLand)
		{
		String name = textName.getText().trim();
		String password = String.valueOf(textPassword.getPassword()).trim();
	    int num = sq.landing(name, password);
	    if(num==1)
	    {
	    	JOptionPane.showMessageDialog(frame, "欢迎进入学生宿舍管理系统!","提示:",JOptionPane.PLAIN_MESSAGE);
	    	system system = new system();
	    	frame.dispose();
	    }
	    else
	    {
	    	JOptionPane.showMessageDialog(frame, "账号或者密码错误!","提示:",JOptionPane.ERROR_MESSAGE);
	    }
		}
	}
二、系统管理界面及代码**(这里只添加了俩个表,多少表都是一样的道理**)
增加数据:点击增加按钮会出现一空白行,填写完点击保存即可
 保存(更新)数据:直接在表中进行相应的操作,再点击保存即可
 删除数据:选择某行,点击删除按钮即可
 部分代码:
//--------------------------------------按钮事件--------------------------------
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		//------------------------------- 删除-----------------------------
		String tableName = null;
		String key1 = null;
		if((JButton)e.getSource()==buttonDelete)
		{   if(paneParent.getSelectedIndex()==1)
			{
				tableName = "学生信息表";
				key1 = "sno";
			}
			if(paneParent.getSelectedIndex()==2)
			{
				tableName = "宿舍信息表";
				key1 = "dno";
			}
			int row = table.getSelectedRow();
			if(row!=-1)
			{
				String key2 = (String) tableModel.getValueAt(row, 0);
				int result = JOptionPane.showConfirmDialog(null, "确定要删除吗?","请确认",JOptionPane.YES_NO_OPTION);
				if(result==JOptionPane.OK_OPTION)
				{
					String sql = "delete from "+tableName+" where "+key1+"="+key2;
					int num = sq.delete(sql);
					if(num>0)
					{
						tableModel.removeRow(row);
					}
				}
			}
			else
			{
				JOptionPane.showMessageDialog(null, "请选择要删除的行!","提示:",JOptionPane.ERROR_MESSAGE);
			}
		}
		//------------------------------保存------------------------
		if((JButton)e.getSource()==buttonSave)
		{
			int result = JOptionPane.showConfirmDialog(null, "请确认数值已经更改,否则保存无效","请确认",JOptionPane.YES_NO_OPTION);
			if(result==JOptionPane.OK_OPTION)
			{
				int row = table.getRowCount();
				int column = table.getColumnCount();
				String[][]valueRow= new String[row][column];
				String[] sqlvalue  = new String[row];
				for(int i = 0; i < row; i++)
				{
					for(int j = 0; j < column; j++)
					{
						valueRow[i][j] = table.getValueAt(i, j).toString();
					}
				}
				if(paneParent.getSelectedIndex()==1)
				{
					for(int i =0;i());
		}
	}
三、sql.java (重要)
public class SQL {
    public  Connection conn;
    public  Statement st;
    public  ResultSet rs;
//----------------------------获取链接--------------------------------
public Connection getConn() throws SQLException, ClassNotFoundException
{
  String driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
  String url = "jdbc:sqlserver://localhost:1433;databaseName=学习宿舍";
//:1433为数据库默认端口号,学习宿舍为数据库名字
  String user = "sa"; //登录用户名
  String password = "123456"; //登录密码
  try {
   Class.forName(driverClassName);
   conn = DriverManager.getConnection(url, user, password);
   System.out.println("数据库连接成功");
  } catch (SQLException ex1)
  {
   System.out.println("数据库连接失败");
  }
  return conn;
}
//-----------------------------------关闭链接----------------------------------
public  void Close()
{
  try {
	rs.close();
} catch (SQLException e) {
	e.printStackTrace();
}
  try {
	st.close();
} catch (SQLException e1) {
	e1.printStackTrace();
}
  try {
	conn.close();
} catch (SQLException e) {
	e.printStackTrace();
}
}
//----------------------------------------登陆---------------------------------
public int landing(String name1,String password1)
{
	int num = 0;
	String sql = "select *from 用户表";
	try{
		getConn();
		st = conn.createStatement();
		rs = st.executeQuery(sql);
		while(rs.next())
		{
			String name = rs.getString(1).trim();
			String password = rs.getString(2).trim();
			if(name.equals(name1)&&password.equals(password1))
			{
				num = 1;
			}
		}
	}catch (SQLException e) {
		// TODO: handle exception
	} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	Close();
	return num;
}
//--------------------------------查询-------------------------------
public Vector> query(String tableName,int column)
{
	int num = 0;
	String sql = "select *from "+tableName;
	Vector> data = new Vector>();
	try{
		getConn();
		st = conn.createStatement();
		rs=st.executeQuery(sql);
		while(rs.next())
		{
			VectorJAVA学生宿舍管理系统的更多相关文章
- java学生成绩管理系统
		信1805-1 20183590 田庆辉 石家庄铁道大学 2019 年秋季 ... 
- java学生简单管理系统
		1 //设一个班有n名学生,期末考试5门,编写程序评定学生奖学金 2 514 //要求打印输出一二等奖学金学生的学号,姓名和各科成绩 3 515 //总成绩超过全班总平均成绩20%一等奖学金,超过总平 ... 
- java开发学生宿舍管理系统源码
		开发环境: Windows操作系统开发工具: Eclipse+Jdk+Tomcat+MySQL 运行效果图 
- Java课设(学生信息管理系统)
		1.团队课程设计博客链接 http://www.cnblogs.com/Min21/p/7064093.html 2.个人负责模板或任务说明 设计登陆界面和学生信息界面的设计,学生信息的显示.退出等功 ... 
- Java项目:学生成绩管理系统(二)
		学生成绩管理系统(二):项目介绍 一.设计要求: 1.1 简单的图形界面登录功能. 1.2 对数据库的的信息的查询功能. 1.3 对数据库的的信息的修改功能. 1.4 对数据库的的信息的删除功能. 1 ... 
- Java 实现学生信息管理系统
		编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ... 
- Java学生管理系统项目案例
		这是一个不错的Java学生管理系统项目案例,希望能够帮到大家的学习吧. 分代码如下 package com.student.util; import java.sql.Connection; impo ... 
- 学生成绩管理系统 1.0(Java+MySql)
		真难…… 数据库建立不会,中文编码不会,插入数据不会,删除不会…… Java读入数据不会……数据库连接不会…… 你也好意思说自己是学计算机的啊魂淡…… 我会慢慢写2.0,3.0版的……噗…… src/ ... 
- Android(java)学习笔记195:学生信息管理系统案例(SQLite + ListView)
		1.首先说明一个知识点,通常我们显示布局文件xml都是如下: setContentView(R.layout.activity_main): 其实每一个xml布局文件就好像一个气球,我们可以使用Vie ... 
随机推荐
- Educational Codeforces Round 89 (Rated for Div. 2) A. Shovels and Swords(贪心/数学)
			题目链接:https://codeforces.com/contest/1366/problem/A 题意 有两个数 $a$ 和 $b$,每次可以选择从一个数中取 $2$,另一个数中取 $1$,问最多 ... 
- codeforces #345 (Div. 1) D. Zip-line (线段树+最长上升子序列)
			Vasya has decided to build a zip-line on trees of a nearby forest. He wants the line to be as long a ... 
- Codeforces Round #669 (Div. 2)  C. Chocolate Bunny  (交互,构造)
			题意:有一个长度为\(n\)的隐藏序列,你最多可以询问\(2n\)次,每次可以询问\(i\)和\(j\)位置上\(p[i]\ mod\ p[j]\)的结果,询问的格式是\(?\ x\ y\),如果已经 ... 
- 洛谷 P2895 [USACO08FEB]Meteor Shower S (BFS)
			题意:你刚开始位于坐标轴的\((0,0)\)点,一共有\(m\)颗流星砸向地面,每颗流星在\(t\)时砸到\((x,y)\)点,其四周上下左右也均有波及,你每秒可以向上下左右移动一个单位,问你是否可以 ... 
- vlc音视频开发(二)环境搭建(VS篇)
			来源:微信公众号「编程学习基地」 目录 简介 VS配置vlc开发环境 下载vlc源码 创建vlc环境 测试vlc代码 运行vlc程序 完成项目文件获取 简介 VLC 是一款自由.开源的跨平台多媒体播放 ... 
- jmespath(2)投影Projections
			投影 投影是JMESPath的关键特性之一.它允许您将表达式应用于元素集合.有五种投影: 列表投影 切片投影 对象投影 展平投影 过滤投影 处理投影需要注意的点 投影评估分为两个步骤.左侧(LHS)创 ... 
- docker+prom+grafana+altermanager
			docker基础 docker run -it --name centos -v $HOME:/tmp -p 8080:8080 centos docker inspect container #查看 ... 
- leetcode 122 123   309 188 714  股票买卖 动态规划
			这类问题有一个通法 https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iii/solution/yi-ge-tong-y ... 
- 数据分析常用库(numpy,pandas,matplotlib,scipy)
			概述 numpy numpy(numeric python)是 python 的一个开源数值计算库,主要用于数组和矩阵计算.底层是 C 语言,运行效率远高于纯 python 代码.numpy主要包含2 ... 
- POJ 2288 Islands and Bridges(状压DP)题解
			题意:n个点,m有向边,w[i]表示i的价值,求价值最大的哈密顿图(只经过所有点一次).价值为:所有点的w之和,加上,每条边的价值 = w[i] * w[j],加上,如果连续的三个点相互连接的价值 = ... 
