import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner; public class Student {
public static void main(String args[]) {
try {
Class.forName("com.mysql.jdbc.Driver"); //加载MYSQL JDBC驱动程序
// System.out.println("Success loading Mysql Driver!");
}
catch (Exception e) {
System.out.print("Error loading Mysql Driver!");
e.printStackTrace();
}
menu();
} public static void menu() {
System.out.println("******************学生个人成绩管理系统***********");
System.out.printf("\n", null);
System.out.println(" 1、增加成绩");
System.out.println(" 2、修改成绩");
System.out.println(" 3、删除成绩");
System.out.println(" 4、查询成绩");
System.out.println(" 5、显示全部");
System.out.println(" 6、退出系统");
System.out.printf("\n", null);
System.out.println("************************************************");
System.out.println("请输入功能编号(1-6):");
Scanner r0 = new Scanner(System.in);
int i = r0.nextInt();
switch(i){
case 1:
add();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
menu();
break;
case 2:
update();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
break;
case 3:
del();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
menu();
break;
case 4:
find();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
menu();
break;
case 5:
showall();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
menu();
break;
case 6: break;
default:
System.out.println("请输入数字1到6");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
} break;
}
r0.close();
}
public static void add(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入新的学生信息,输入格式为学号,姓名,分数。如:201220201032 xu 78.5");
String input =sc.nextLine();
String[] additem=input.split(" ");
if(additem.length==3){
try {
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/stumana","root","root");
Statement stmt = connect.createStatement();
int rs = stmt.executeUpdate("insert into student (id,name,grades) values( '"+additem[0]+"', '"+additem[1]+"' ,'"+additem[2]+"')");
if(rs==1)
System.out.println("添加成功!");
}
catch (Exception e) {
System.out.print("get data error!");
e.printStackTrace();
}
} }
public static void update(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生编号");
String id=sc.nextLine();
try {
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/stumana","root","root");
Statement stmt = connect.createStatement();
ResultSet rs = stmt.executeQuery("select * from student where name='"+id+"'");
if(rs!=null){
System.out.println("请输入新的学生信息,输入格式为学号,姓名,分数。如:201220201032 xu 78.5");
String input =sc.nextLine();
String[] additem=input.split(" ");
if(additem.length==3){
int rs1 = stmt.executeUpdate("update student set id= '"+additem[0]+"', name='"+additem[1]+"' ,grades='"+additem[2]+"'where id='"+id+"'");
if(rs1==1)
System.out.println("修改成功!");
}
}
free(null,stmt ,connect);
}
catch (Exception e) {
System.out.print("get data error!");
e.printStackTrace();
}
}
public static void del(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生编号");
String id=sc.nextLine();
try {
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/stumana","root","root");
Statement stmt = connect.createStatement();
int rs = stmt.executeUpdate("delete from student where id='"+id+"'");
if(rs==1)
System.out.println("删除成功!");
free(null,stmt ,connect);
}
catch (Exception e) {
System.out.print("get data error!");
e.printStackTrace();
}
}
public static void find(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名");
String id=sc.nextLine();
try {
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/stumana","root","root");
Statement stmt = connect.createStatement();
ResultSet rs = stmt.executeQuery("select * from student where name='"+id+"'");
System.out.print("id"+" ");
System.out.print("姓名"+" ");
System.out.println("成绩");
while (rs.next()) {
System.out.print(rs.getString("id")+" ");
System.out.print(rs.getString("name")+" ");
System.out.println(rs.getFloat("grades"));
}
free(rs,stmt ,connect);
}
catch (Exception e) {
System.out.print("get data error!");
e.printStackTrace();
}
}
public static void showall(){
try {
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/stumana","root","root");
//连接URL为 jdbc:mysql//服务器地址/数据库名 ,后面的2个参数分别是登陆用户名和密码 // System.out.println("Success connect Mysql server!");
Statement stmt = connect.createStatement();
ResultSet rs = stmt.executeQuery("select * from student"); System.out.print("id"+" ");
System.out.print("姓名"+" ");
System.out.println("成绩");
while (rs.next()) {
System.out.print(rs.getString("id")+" ");
System.out.print(rs.getString("name")+" ");
System.out.println(rs.getFloat("grades"));
}
free(rs,stmt ,connect);
}
catch (Exception e) {
System.out.print("get data error!");
e.printStackTrace();
}
}
public static void free(ResultSet resultset,Statement st,Connection conn)
{
try{
if(resultset!=null)
resultset.close();
} catch (Exception e) {
e.printStackTrace();
}
finally
{
try
{
if(st!=null)
st.close();
} catch (Exception e) {
e.printStackTrace();
}
finally
{
if(conn!=null)
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
} }

JDBC成绩管理系统的更多相关文章

  1. DAO JDBC 学生成绩管理系统

    1:student.course类 package JDBCU; public class Student { private String no; private String name; publ ...

  2. JSP+Servlet+JDBC+mysql实现的学生成绩管理系统

    项目简介 项目来源于:https://gitee.com/zzdoreen/SSMS 本系统基于JSP+Servlet+Mysql 一个基于JSP+Servlet+Jdbc的学生成绩管理系统.涉及技术 ...

  3. 学生成绩管理系统 1.0(Java+MySql)

    真难…… 数据库建立不会,中文编码不会,插入数据不会,删除不会…… Java读入数据不会……数据库连接不会…… 你也好意思说自己是学计算机的啊魂淡…… 我会慢慢写2.0,3.0版的……噗…… src/ ...

  4. JSP+SSM+Mysql实现的学生成绩管理系统

    项目简介 项目来源于:https://gitee.com/z77z/StuSystem 本系统是基于JSP+SSM+Mysql实现的学生成绩管理系统.主要实现的功能有教师管理.学生管理.课程管理.学生 ...

  5. 学生成绩管理系统(SSM+MySQL+JSP)

    开发工具:Eclipse前端技术:基础:html+css+JavaScript框架:JQuery+H-ui后端技术:Spring+SpringMVC+mybatis模板引擎:JSP数据库:mysql ...

  6. Java+Eclipse+MySQL+Swing实现学生会考成绩管理系统(免费完整项目)

    版权声明:原创不易,本文禁止抄袭.转载,侵权必究! 目录 一.需求开发文档 二.数据库设计文档 三.功能模块部分代码及效果展示 四.完整源码下载 五.作者Info 一.需求开发文档 项目完整文件列表: ...

  7. Java项目:学生成绩管理系统(二)

    学生成绩管理系统(二):项目介绍 一.设计要求: 1.1 简单的图形界面登录功能. 1.2 对数据库的的信息的查询功能. 1.3 对数据库的的信息的修改功能. 1.4 对数据库的的信息的删除功能. 1 ...

  8. Java项目:学生成绩管理系统(一)

    学生成绩管理系统(一) 项目名称:学生成绩管理系统 项目需求分析(Need 需求): (1)该系统的用户分为教师和学生.教师的功能有:管理某一学生或课程的信息以及成绩,包括增.删.查.报表打印等:学生 ...

  9. 学生成绩管理系统[C]

    #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> #d ...

随机推荐

  1. image -- pmp

  2. 用C++实现的SDK跨平台心得体会

    C/C++的跨平台特性相比于Java更加原生(Java是一次编译到处运行,而C/C ++则需要拿着源码重新编译一遍),实现一个C/C++跨平台程序一般有几点做法: 1.使用Qt 2.使用ANSI C/ ...

  3. Azure sdk for python

    http://www.oschina.net/translate/python-windows-azure Len  6:17:54 PM __author__ = 'len.li' from azu ...

  4. 怎样手动添加 Sublime 3 右键菜单

    [Version] Signature="$Windows NT$" [DefaultInstall] AddReg=SublimeText3 [SublimeText3] hkc ...

  5. Dynamics AX 2012 R2 客制化RDP报表参数对话框

    当我们在使用RDP报表时,AX会根据Data Contract,自动生成报表参数对话框上的字段控件.一般情况下,该对话框能够满足我们的需求,但是如果有较为复杂或特殊的需求,就要我们对该对话框进行客制化 ...

  6. nginx 设置 fastcgi缓存

    #增加调试信息 add_header X-Cache-CFC "$upstream_cache_status - $upstream_response_time"; fastcgi ...

  7. Java 引用传递

    按照Java的规定,Java的函数参数在传递的时候有两种方式. 对于基本类型,如int,double等作为函数参数传递时,采取的是传值方式. 对于对象,如数组.字符串等作为参数传递时,采用的是引用方式 ...

  8. 【转】SVN库的迁移

    转载地址:http://blog.csdn.net/windone0109/article/details/2841294 SVN服务器由于硬盘空间不足,需要将其迁移到另外一台机器上,并且更换Repo ...

  9. js遍历数组的错误方法

    for (var index in myArray) { // don't actually do this console.log(myArray[index]); } 缺点: 数组的索引值inde ...

  10. solr 4.6配置正解

    最近在学习solr,可是在网上找了很多个配置的资料,要不就是solr版本不对,反正各种问题.最后终于出来了,在这里给大家分享一下 1.准备工作 我们要先去下载一个tomcat,我下载的版本是tomca ...