0


Java程序设计之(一)MySQL的交互-学生信息成绩管理系统

CSDN话题挑战赛第2期
参赛话题:学习笔记

学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。

目录

本篇博客的主要内容有Java程序设计,MySQL应用等相关内容

mysql sqlyog java

关于Java

Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 [1] 。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 [2] 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 [3] 。

项目来源及背景

个人成绩单管理系统是学生在每学期期末记录学期各科成绩的主要应用,具有较强的实用性,贴近实际,便于完成系统的分析与设计,适用于多用户。

功能设计

注册:输入账户、密码和确认密码完成新用户的注册。

登录:输入账号和密码,完成登录操作,进入主界面,显示成绩单管理系统中可进行的相关操作的选项。

退出:登录后可进行退出操作,结束整个程序。

添加信息:输入一份成绩单的各项基本信息(用户名、课程号、课程名等),或者输入这份成绩单中各科的成绩(课程号、课程名、考试记录、考试成绩、考试年份等),完成课程表或成绩表的添加操作。

删除信息:根据显示的课程表或成绩表基本信息,输入某个表的主键或者相应信息,完成表数据的删除操作。

修改成绩单:根据显示的成绩单基本信息,输入某个成绩单的主键或者相应信息,显示成绩单的基本信息和成绩单中的各科成绩信息,根据提示选项,选择修改课程表基本信息或修改某科成绩或删除某科成绩,输入相应字段值或某科成绩的主键,完成成绩单信息的修改。

查询信息:利用主键查询,获得一份成绩单的详细信息。

查询某课程年平均成绩:输入相关信息,输出查询结果,以表格形式按创建年平均成绩结果,并导出文本文档。

查询年某课程考试成绩:输出课程相关信息,输出以分数升序显示的,年考试成绩的变化信息。

修改密码:进入系统后,选择修改密码,输入用户名以及旧密码,输入新密码并确认完成用户密码修改。

导出功能

对成绩单信息进行导出操作,存储至一个文本文档中,将查询到的年平均成绩存入导出文本文档中。

代码

  • 主页面

  1. package top;
  2. import com.mysql.jdbc.Driver;
  3. import java.io.FileNotFoundException;
  4. import java.sql.*;
  5. import java.util.Scanner;
  6. public class Test_J {
  7. public static void main(String[] args) throws SQLException, ClassNotFoundException, FileNotFoundException {
  8. System.out.println("----------欢迎使用个人成绩信息管理系统----------");
  9. System.out.println("请选择你要进行的操作( 1 or 2 ): \n —— 1- 注册.\t —— 2- 登录.");
  10. Scanner input = new Scanner(System.in);
  11. int num = input.nextInt();
  12. if (num == 1) {
  13. while (true) {
  14. Scanner reader = new Scanner(System.in);
  15. System.out.println("------注册页面------");
  16. System.out.println("请输入用户名:");
  17. String username = reader.next();
  18. System.out.println("请输入密码:");
  19. String password = reader.next();
  20. System.out.println("请确认密码:");
  21. String password1 = reader.next();
  22. if (password.equals(password1)) {
  23. try {
  24. Class.forName("com.mysql.jdbc.Driver");
  25. } catch (ClassNotFoundException e) {
  26. e.printStackTrace();
  27. }
  28. try {
  29. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/system", "root",
  30. "dai324542");
  31. Statement sql = con.createStatement();
  32. ResultSet s = sql.executeQuery("select * from users where username='" + username + "'");
  33. if (s.next()) {
  34. System.out.println("对不起,用户名已存在!");
  35. } else {
  36. int n = sql.executeUpdate("insert into users(username,password) value('" + username + "','"
  37. + password + "')");
  38. if (n > 0) {
  39. System.out.println("......注册中");
  40. try {
  41. Thread.sleep(1000);
  42. } catch (InterruptedException e) {
  43. // TODO Auto-generated catch block
  44. e.printStackTrace();
  45. }
  46. System.out.println("\n注册成功!");
  47. System.out.println("\n已退出,请重新登录!");
  48. break;
  49. } else {
  50. System.out.println("注册失败,请重试!");
  51. con.close();
  52. }
  53. }
  54. } catch (SQLException e) {
  55. e.printStackTrace();
  56. }
  57. } else {
  58. System.out.println("注册失败,两次密码输入不一致!");
  59. }
  60. }
  61. }
  62. if (num == 2) {
  63. try {
  64. Class.forName("com.mysql.jdbc.Driver");
  65. } catch (ClassNotFoundException e) {
  66. e.printStackTrace();
  67. }
  68. try {
  69. int number = 0;
  70. while (true) {
  71. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/system", "root",
  72. "dai324542");
  73. Statement sql = con.createStatement();
  74. System.out.println("-----登陆页面-----");
  75. System.out.println("请输入用户名: ");
  76. Scanner reader = new Scanner(System.in);
  77. String username = reader.next();
  78. System.out.println("请输入密码: ");
  79. String password = reader.next();
  80. ResultSet rs = sql.executeQuery(
  81. "select * from users where username='" + username + "' and password='" + password + "'");
  82. if (rs.next()) {
  83. System.out.println("......登陆中\n");
  84. try {
  85. Thread.sleep(1000);
  86. } catch (InterruptedException e) {
  87. // TODO Auto-generated catch block
  88. e.printStackTrace();
  89. }
  90. System.out.println("登陆成功!\n");
  91. break;
  92. } else {
  93. number = number + 1;
  94. System.out.println("登陆失败,用户名或密码错误,请认真核对!\n");
  95. // System.out.println("" + number);
  96. if (number == 3) {
  97. System.out.println("登陆失败错误次数过多,即将退出!\n");
  98. System.exit(0);
  99. break;
  100. }
  101. }
  102. /*
  103. * 正常退出 status为0时为正常退出程序,也就是结束当前正在运行中的java虚拟机。
  104. *
  105. * 非正常退出 status为非0的其他整数(包括负数,一般是1或者-1),表示非正常退出当前程序。
  106. */
  107. // 5.断开连接,关闭数据库
  108. rs.close();
  109. con.close();
  110. }
  111. } catch (SQLException e) {
  112. e.printStackTrace();
  113. }
  114. while (true)
  115. {
  116. System.out.println("----------欢迎使用个人成绩信息管理系统----------");
  117. System.out.println("—— 1-添加课程.\t\t5-查询信息.\t ——");
  118. System.out.println("—— 2-添加成绩.\t\t6-修改信息.\t ——");
  119. System.out.println("—— 3-查询年平均成绩.\t7-删除信息. \t ——");
  120. System.out.println("—— 4-查询按年成绩排序.\t8-修改密码.\t ——");
  121. System.out.println("—— 9-退出程序\t\t\t\t ——");
  122. System.out.println("---------------------------------------------");
  123. System.out.println("\n请输入你的指令( 1 ~ 9 ): ______");
  124. Scanner scanner = new Scanner(System.in);
  125. String cmd = scanner.nextLine();
  126. switch (cmd) {
  127. case "1":
  128. AddCourse.Addcourse();
  129. break;
  130. case "2":
  131. AddScores.Addscores();
  132. break;
  133. case "3":
  134. Select_avg.select_avg();
  135. break;
  136. case "4":
  137. SelectDesc.Selectdesc();
  138. break;
  139. case "5":
  140. SelectUser.Selectuser();
  141. break;
  142. case "6":
  143. UpdateScores.Updatescores();
  144. break;
  145. case "7":
  146. DeleteScores.Deletescores();
  147. break;
  148. case "8":
  149. Updatepassword.updatepassword();
  150. break;
  151. case "9":
  152. System.out.println("感谢使用!Byebye~");
  153. System.exit(0);
  154. Connection connection = null;
  155. Statement statement = null;
  156. ResultSet set = null;
  157. try {
  158. // 1.加载数据库驱动
  159. Class.forName("com.mysql.jdbc.Driver");
  160. // 2.通过DriverManager获取数据库连接
  161. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/system", "root",
  162. "dai324542");
  163. Statement sql = con.createStatement();
  164. } catch (ClassNotFoundException e) {
  165. System.out.println("---错误提示:数据库驱动加载失败");
  166. e.printStackTrace();
  167. } catch (SQLException e) {
  168. System.out.println("---错误提示:数据库操作失败");
  169. e.printStackTrace();
  170. } finally {
  171. if (set != null) {
  172. try {
  173. set.close();
  174. } catch (SQLException e) {
  175. e.printStackTrace();
  176. }
  177. }
  178. if (connection != null) {
  179. try {
  180. connection.close();
  181. } catch (SQLException e) {
  182. e.printStackTrace();
  183. }
  184. }
  185. if (statement != null) {
  186. try {
  187. statement.close();
  188. } catch (SQLException e) {
  189. e.printStackTrace();
  190. }
  191. }
  192. }
  193. }
  194. }
  195. }
  196. }
  197. }
  • 添加课程页面

  1. package top;
  2. import java.sql.*;
  3. import java.util.Scanner;
  4. class AddCourse extends Test_J {
  5. public static void Addcourse() throws ClassNotFoundException, SQLException {
  6. @SuppressWarnings("resource")
  7. Scanner reader = new Scanner(System.in);
  8. System.out.println("------添加课程页面------");
  9. System.out.println("请输入用户名:");
  10. String username = reader.next();
  11. System.out.println("请输入课程号:");
  12. String Cno = reader.next();
  13. System.out.println("请输入课程名:");
  14. String Cname = reader.next();
  15. if (1 > 0) /* true */ {
  16. try {
  17. Class.forName("com.mysql.jdbc.Driver");
  18. } catch (ClassNotFoundException e) {
  19. e.printStackTrace();
  20. }
  21. try {
  22. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/system", "root", "dai324542");
  23. Statement sql = con.createStatement();
  24. ResultSet s = sql.executeQuery(
  25. "select * from course where username='" + username + "'and course.Cno='" + Cno + "'");
  26. if (s.next()) {
  27. System.out.println("添加失败,课程已存在!");
  28. } else {
  29. int n = sql.executeUpdate("insert into course(username,Cno,Cname) value('" + username + "','" + Cno
  30. + "','" + Cname + "')");
  31. if (n > 0) {
  32. System.out.println("课程添加成功");
  33. } else {
  34. System.out.println("课程添加失败");
  35. con.close();
  36. }
  37. }
  38. } catch (SQLException e) {
  39. e.printStackTrace();
  40. }
  41. }
  42. }
  43. }
  • 添加成绩页面

  1. package top;
  2. import java.sql.*;
  3. import java.util.Scanner;
  4. class AddScores extends Test_J {
  5. public static void Addscores() throws ClassNotFoundException, SQLException {
  6. Scanner reader = new Scanner(System.in);
  7. System.out.println("------添加成绩页面------");
  8. System.out.println("请输入课程号:");
  9. String Cno = reader.next();
  10. System.out.println("请输入课程名:");
  11. String Cname = reader.next();
  12. System.out.println("请输入考试记录:");
  13. String C_record = reader.next();
  14. System.out.println("请输入考试分数:");
  15. String C_score = reader.next();
  16. System.out.println("请输入考试年份:");
  17. String C_date = reader.next();
  18. if (1 > 0) {
  19. try {
  20. Class.forName("com.mysql.jdbc.Driver");
  21. } catch (ClassNotFoundException e) {
  22. e.printStackTrace();
  23. }
  24. try {
  25. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/system", "root", "dai324542");
  26. Statement sql = con.createStatement();
  27. ResultSet s = sql.executeQuery("select * from grade where grade.Cno='" + Cno + "'and grade.Cname='"
  28. + Cname + "'and grade.C_record='" + C_record + "'and grade.C_score='" + C_score
  29. + "'and grade.C_date='" + C_date + "'");
  30. if (s.next()) {
  31. System.out.println("对不起,成绩信息已存在!");
  32. } else {
  33. int n = sql.executeUpdate("insert into grade(Cno,Cname,C_record,C_score,C_date) value('" + Cno
  34. + "','" + Cname + "','" + C_record + "','" + C_score + "','" + C_date + "')");
  35. if (n > 0) {
  36. System.out.println("成绩信息添加成功!");
  37. } else {
  38. System.out.println("成绩信息添加失败");
  39. con.close();
  40. }
  41. }
  42. } catch (SQLException e) {
  43. e.printStackTrace();
  44. }
  45. }
  46. }
  47. }
  • 删除页面

  1. package top;
  2. import java.util.*;
  3. import java.sql.*;
  4. class DeleteScores extends Test_J {
  5. public static void Deletescores() throws ClassNotFoundException, SQLException {
  6. try {
  7. Class.forName("com.mysql.jdbc.Driver");
  8. } catch (ClassNotFoundException e) {
  9. e.printStackTrace();
  10. }
  11. try {
  12. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/system", "root", "dai324542");
  13. Statement sql = con.createStatement();
  14. Scanner reader = new Scanner(System.in);
  15. System.out.println("-----删除界面-----");
  16. System.out.println("—— 1- 成绩表 \t—— 2-课程表\n");
  17. System.out.println("请选择你要删除的表( 1 or 2 ): ");
  18. int type = reader.nextInt();
  19. if (type == 1) {
  20. System.out.println("请输入课程号:");
  21. String Cno = reader.next();
  22. System.out.println("请输入课程名:");
  23. String Cname = reader.next();
  24. System.out.println("请输入考试记录:");
  25. String C_record = reader.next();
  26. int n = sql.executeUpdate("delete from grade where Cno='" + Cno + "'and Cname='" + Cname
  27. + "' and C_record='" + C_record + "'");
  28. if (n > 0) {
  29. System.out.println("删除成功!");
  30. } else {
  31. System.out.println("未查询到相应数据,删除失败!");
  32. }
  33. } else if (type == 2) {
  34. System.out.println("请输入用户名:");
  35. String username1 = reader.next();
  36. System.out.println("请输入课程号:");
  37. String Cno = reader.next();
  38. int n = sql
  39. .executeUpdate("delete from course where username='" + username1 + "' and Cno='" + Cno + "'");
  40. if (n > 0) {
  41. System.out.println("删除成功!");
  42. } else {
  43. System.out.println("未查询到相应数据,删除失败!");
  44. }
  45. } else {
  46. System.out.println("请按要求选择你要删除的表!");
  47. }
  48. // 5.断开连接,关闭数据库
  49. con.close();
  50. } catch (
  51. SQLException e) {
  52. e.printStackTrace();
  53. }
  54. }
  55. }
  • 查询平均分

  1. package top;
  2. import java.io.FileNotFoundException;
  3. import java.io.PrintStream;
  4. import java.sql.*;
  5. import java.util.Scanner;
  6. class Select_avg extends Test_J {
  7. public static void select_avg() throws ClassNotFoundException, SQLException, FileNotFoundException {
  8. // 1.加载JDBC驱动程序
  9. try {
  10. Class.forName("com.mysql.jdbc.Driver");
  11. } catch (ClassNotFoundException e) {
  12. e.printStackTrace();
  13. }
  14. // 2.创建数据库的链接
  15. try {
  16. System.out.println("连接数据库...");
  17. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/system", "root", "dai324542");
  18. // 3.执行SQL语句
  19. Scanner reader3 = new Scanner(System.in);
  20. System.out.println("------查询页面------");
  21. Scanner reader = new Scanner(System.in);
  22. System.out.println("请输入你的用户名:");
  23. String username = reader.next();
  24. System.out.println("请输入你的课程号:");
  25. String Cno = reader.next();
  26. System.out.println("请输入年份:");
  27. String C_date = reader.next();
  28. Statement sql1 = con.createStatement();// Statement接口
  29. ResultSet re1 = sql1.executeQuery("SELECT username,course.Cno,AVG(C_score) FROM grade,course WHERE C_date='"
  30. + C_date + "' AND course.`username`='" + username + "' AND course.Cno='" + Cno
  31. + "' AND course.`Cno`=grade.`Cno` AND course.`Cname`=grade.`Cname` group by username,course.Cno");// executeQuery查询----ResultSet结果集
  32. // 4.接收并处理结果集
  33. System.out.println(" 查询中.....");
  34. if (re1.next()) {
  35. // 创建一个打印输出流,输出的目标是E盘下的Select_avg.txt文件
  36. PrintStream out = System.out;
  37. // 保存系统默认的打印输出流缓存
  38. PrintStream ps = new PrintStream("E:\\Select_avg.txt");
  39. System.setOut(ps);
  40. // 把创建的打印输出流赋给系统。即系统下次向 ps输出
  41. String username1 = re1.getString("username");
  42. System.out.println("用户名: " + username1);
  43. String Cno1 = re1.getString("course.Cno");
  44. System.out.println("课程号: " + Cno1);
  45. String avg = re1.getString("avg(C_score)");
  46. System.out.println("年平均分: " + avg);
  47. ps.close();
  48. System.setOut(out);// 把打印输出流还给系统
  49. String username11 = re1.getString("username");
  50. System.out.println("用户名: " + username11);
  51. String Cno11 = re1.getString("course.Cno");
  52. System.out.println("课程号: " + Cno11);
  53. String avg1 = re1.getString("avg(C_score)");
  54. System.out.println("年平均分: " + avg1);
  55. System.out.print("----查询结束!\n");
  56. } else {
  57. System.out.print("未查询到相关信息,请认真核对!\n");
  58. }
  59. re1.close();
  60. con.close();
  61. } catch (SQLException e) {
  62. e.printStackTrace();
  63. }
  64. }
  65. }
  • 查询成绩表

  1. package top;
  2. import java.sql.*;
  3. import java.util.Scanner;
  4. import java.io.FileNotFoundException;
  5. import java.io.PrintStream;
  6. class SelectDesc extends Test_J {
  7. public static void Selectdesc() throws ClassNotFoundException, SQLException {
  8. // 1.加载JDBC驱动程序
  9. try {
  10. Class.forName("com.mysql.jdbc.Driver");
  11. } catch (ClassNotFoundException e) {
  12. e.printStackTrace();
  13. }
  14. // 2.创建数据库的链接
  15. try {
  16. System.out.println("连接数据库...");
  17. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/system", "root", "dai324542");
  18. // 3.执行SQL语句
  19. Scanner reader3 = new Scanner(System.in);
  20. System.out.println("------查询页面------");
  21. Scanner reader = new Scanner(System.in);
  22. System.out.println("请输入课程号:");
  23. String Cno = reader.next();
  24. System.out.println("请输入课程名:");
  25. String Cname = reader.next();
  26. System.out.println("请输入年份:");
  27. String C_date = reader.next();
  28. Statement sql1 = con.createStatement();// Statement接口
  29. ResultSet re1 = sql1.executeQuery("SELECT * FROM grade WHERE `Cno`='" + Cno + "' AND `Cname`='" + Cname
  30. + "' AND C_date='" + C_date + "' ORDER BY C_score DESC");// executeQuery查询----ResultSet结果集
  31. // 4.接收并处理结果集
  32. System.out.println(" 查询中.....");
  33. while (re1.next()) {
  34. String Cno1 = re1.getString("Cno");
  35. System.out.print("\t课程号: " + Cno1);
  36. String Cname1 = re1.getString("Cname");
  37. System.out.print("\t课程名: " + Cname1);
  38. String C_record = re1.getString("C_record");
  39. System.out.print("\t考试记录: " + C_record);
  40. String C_score = re1.getString("C_score");
  41. System.out.print("\t考试分数: " + C_score);
  42. String C_date1 = re1.getString("C_date");
  43. System.out.println("\t考试年份: " + C_date1);
  44. }
  45. System.out.print("----查询结束!\n");
  46. re1.close();
  47. con.close();
  48. } catch (SQLException e) {
  49. e.printStackTrace();
  50. }
  51. }
  52. }
  • 查询课程表

  1. package top;
  2. import java.sql.*;
  3. import java.util.Scanner;
  4. class SelectUser extends Test_J {
  5. public static void Selectuser() throws ClassNotFoundException, SQLException {
  6. // 1.加载JDBC驱动程序
  7. try {
  8. Class.forName("com.mysql.jdbc.Driver");
  9. } catch (ClassNotFoundException e) {
  10. e.printStackTrace();
  11. }
  12. // 2.创建数据库的链接
  13. try {
  14. System.out.println("连接数据库...");
  15. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/system", "root", "dai324542");
  16. // 3.执行SQL语句
  17. Scanner reader3 = new Scanner(System.in);
  18. System.out.println("------查询页面------");
  19. System.out.println("请选择你要进行的操作( 1 or 2 ): \n—— 1-查询课程表. \t—— 2-查询成绩表.\n");
  20. int n = reader3.nextInt();
  21. if (n == 1) {
  22. Scanner reader = new Scanner(System.in);
  23. System.out.println("-----查询课程记录页面-----");
  24. System.out.println("请输入您的用户名:");
  25. String username1 = reader.next();
  26. Statement sql = con.createStatement();// Statement接口
  27. ResultSet re = sql.executeQuery("select * from course where username='" + username1 + "'");// executeQuery查询----ResultSet结果集
  28. // 4.接收并处理结果集
  29. System.out.println(" 查询中.....");
  30. if (re.next() == false) {
  31. System.out.print("未查询到相关信息,请认真核对!\n");
  32. } else {
  33. String username = re.getString("username");
  34. String Cno = re.getString("Cno");
  35. String Cname = re.getString("Cname");
  36. // 输出数据
  37. System.out.println("用户名: " + username);
  38. System.out.println("课程号: " + Cno);
  39. System.out.println("课程名: " + Cname);
  40. System.out.print("----查询结束!\n");
  41. while (re.next() == true) {
  42. String username11 = re.getString("username");
  43. String Cno1 = re.getString("Cno");
  44. String Cname1 = re.getString("Cname");
  45. // 输出数据
  46. System.out.println("用户名: " + username11);
  47. System.out.println("课程号: " + Cno1);
  48. System.out.println("课程名: " + Cname1);
  49. System.out.print("----查询结束!\n");
  50. }
  51. }
  52. re.close();
  53. } else if (n == 2) {
  54. System.out.println("------查询成绩记录页面------");
  55. System.out.println("请输入您的用户名:");
  56. Scanner reader2 = new Scanner(System.in);
  57. String username1 = reader2.next();
  58. System.out.println("请输入您的课程号:");
  59. Scanner reader4 = new Scanner(System.in);
  60. String Cno1 = reader2.next();
  61. Statement sql2 = con.createStatement();// Statement接口
  62. ResultSet re2 = sql2.executeQuery(
  63. "SELECT * FROM grade,course WHERE grade.`Cno`='" + Cno1 + "' AND course.username='" + username1
  64. + "'AND grade.`Cno`=course.`Cno`AND grade.Cname=course.`Cname`");// executeQuery查询----ResultSet结果集
  65. // 4.接收并处理结果集
  66. System.out.println(" 查询中.....");
  67. if (re2.next() == false) {
  68. System.out.print("未查询到相关信息,请认真核对!\n");
  69. } else {
  70. String Cno = re2.getString("Cno");
  71. String Cname = re2.getString("Cname");
  72. String C_record = re2.getString("C_record");
  73. String C_score = re2.getString("C_score");
  74. String C_date = re2.getString("C_date");
  75. // 输出数据
  76. System.out.println("课程号: " + Cno);
  77. System.out.println("课程名: " + Cname);
  78. System.out.println("考试记录: " + C_record);
  79. System.out.println("考试成绩: " + C_score);
  80. System.out.println("考试时间: " + C_date);
  81. System.out.print("----查询结束!\n");
  82. while (re2.next()) {
  83. String Cno11 = re2.getString("Cno");
  84. String Cname1 = re2.getString("Cname");
  85. String C_record1 = re2.getString("C_record");
  86. String C_score1 = re2.getString("C_score");
  87. String C_date1 = re2.getString("C_date");
  88. // 输出数据
  89. System.out.println("课程号: " + Cno11);
  90. System.out.println("课程名: " + Cname1);
  91. System.out.println("考试记录: " + C_record1);
  92. System.out.println("考试成绩: " + C_score1);
  93. System.out.println("考试时间: " + C_date1);
  94. System.out.print("----查询结束!\n");
  95. }
  96. }
  97. re2.close();
  98. }
  99. // 5.断开连接,关闭数据库
  100. else {
  101. System.out.print("请按要求进行选择查询页面!");
  102. }
  103. con.close();
  104. } catch (SQLException e) {
  105. e.printStackTrace();
  106. }
  107. }
  108. }
  • 修改密码页面

  1. package top;
  2. import java.util.*;
  3. import java.sql.*;
  4. class Updatepassword extends Test_J {
  5. public static void updatepassword() throws ClassNotFoundException, SQLException {
  6. try {
  7. Class.forName("com.mysql.jdbc.Driver");
  8. } catch (ClassNotFoundException e) {
  9. e.printStackTrace();
  10. }
  11. try {
  12. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/system", "root", "dai324542");
  13. Statement sql = con.createStatement();
  14. Scanner reader = new Scanner(System.in);
  15. System.out.println("-----修改密码页面-----");
  16. System.out.println("请输入用户名:");
  17. String name = reader.next();
  18. System.out.println("请输入旧密码:");
  19. String oldpwd = reader.next();
  20. ResultSet re = sql
  21. .executeQuery("select * from users where username='" + name + "' and password='" + oldpwd + "'");
  22. if (re.next()) {
  23. System.out.println("请输入新密码:");
  24. String newpwd1 = reader.next();
  25. System.out.println("请确认新密码:");
  26. String newpwd2 = reader.next();
  27. if (newpwd1.equals(newpwd2)) {
  28. int n = sql
  29. .executeUpdate("update users set password='" + newpwd1 + "'where username='" + name + "'");
  30. if (n > 0) {
  31. System.out.println("密码修改成功!");
  32. } else {
  33. System.out.println("密码修改失败!");
  34. }
  35. } else {
  36. System.out.println("修改失败,你输入的新密码与旧密码不一致!");
  37. }
  38. } else {
  39. System.out.println("对不起,你输入的密码或用户名有误!");
  40. }
  41. // 5.断开连接,关闭数据库
  42. re.close();
  43. con.close();
  44. } catch (
  45. SQLException e) {
  46. e.printStackTrace();
  47. }
  48. }
  49. }
  • 修改页面

  1. package top;
  2. import java.sql.*;
  3. import java.util.Scanner;
  4. class UpdateScores extends Test_J {
  5. public static void Updatescores() throws ClassNotFoundException, SQLException {
  6. // TODO Auto-generated method stub
  7. try {
  8. Class.forName("com.mysql.jdbc.Driver");
  9. } catch (ClassNotFoundException e) {
  10. e.printStackTrace();
  11. }
  12. try {
  13. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/system", "root", "dai324542");
  14. Statement sql = con.createStatement();
  15. Scanner reader = new Scanner(System.in);
  16. System.out.println("输入你要修改的表( 1 or 2 ): \n—— 1- 成绩表 \t —— 2- 课程表");
  17. int type = reader.nextInt();
  18. if (type == 1) {
  19. System.out.println("请输入你的课程号:");
  20. String Cno = reader.next();
  21. System.out.println("请输入你的考试记录:");
  22. String C_record = reader.next();
  23. System.out.println("请输入你修改后的分数:");
  24. String new_score = reader.next();
  25. int a = sql.executeUpdate("update grade set C_score='" + new_score + "' where Cno='" + Cno
  26. + "' and C_record='" + C_record + "'");
  27. if (a > 0) {
  28. System.out.println("修改成功");
  29. } else {
  30. System.out.println("修改失败!\\n---输入信息有误,请认真核对!");
  31. }
  32. } else if (type == 2) {
  33. System.out.println("请输入你的用户名:");
  34. String username = reader.next();
  35. System.out.println("请输入你的课程号:");
  36. String Cno = reader.next();
  37. System.out.println("请输入你修改后的课程名:");
  38. String Cname = reader.next();
  39. int b = sql.executeUpdate("update course set Cname='" + Cname + "' where username='" + username
  40. + "'and Cno='" + Cno + "'");
  41. if (b > 0) {
  42. System.out.println("修改成功");
  43. } else {
  44. System.out.println("修改失败!\n---输入信息有误,请认真核对!");
  45. }
  46. } else {
  47. System.out.println("输入选项有误,请按要求进行选择!");
  48. }
  49. con.close();
  50. } catch (SQLException e) {
  51. e.printStackTrace();
  52. }
  53. }
  54. }
  • MySQL相关数据代码

创建表

  1. /*
  2. SQLyog Ultimate v11.11 (64 bit)
  3. MySQL - 5.5.37 : Database - system
  4. *********************************************************************
  5. */
  6. /*!40101 SET NAMES utf8 */;
  7. /*!40101 SET SQL_MODE=''*/;
  8. /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
  9. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
  10. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
  11. /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
  12. CREATE DATABASE /*!32312 IF NOT EXISTS*/`system` /*!40100 DEFAULT CHARACTER SET gbk */;
  13. USE `system`;
  14. /*Table structure for table `course` */
  15. DROP TABLE IF EXISTS `course`;
  16. CREATE TABLE `course` (
  17. `username` char(20) NOT NULL,
  18. `Cno` char(10) NOT NULL,
  19. `Cname` char(20) NOT NULL,
  20. PRIMARY KEY (`username`,`Cno`)
  21. ) ENGINE=InnoDB DEFAULT CHARSET=gbk;
  22. /*Data for the table `course` */
  23. insert into `course`(`username`,`Cno`,`Cname`) values ('3','3','3'),('admin','1234','思政'),('admin','A01','Java程序设计'),('admin','A02','HTML'),('admin','A03','数学'),('user02','A01','C语言');
  24. /*Table structure for table `grade` */
  25. DROP TABLE IF EXISTS `grade`;
  26. CREATE TABLE `grade` (
  27. `Cno` char(10) NOT NULL,
  28. `Cname` char(20) NOT NULL,
  29. `C_record` char(20) NOT NULL,
  30. `C_score` float NOT NULL,
  31. `C_date` int(10) NOT NULL
  32. ) ENGINE=InnoDB DEFAULT CHARSET=gbk;
  33. /*Data for the table `grade` */
  34. insert into `grade`(`Cno`,`Cname`,`C_record`,`C_score`,`C_date`) values ('A01','C语言','月考',67,2022),('A01','Java程序设计','第一次月考',56,2021),('A01','Java程序设计','第三次月考',46,2021),('A01','C语言','二次月考',89,2021),('A02','数学','周测',89,2021),('A01','Java程序设计','考试7',23,2021),('A01','Java程序设计','月考',78,2021);
  35. /*Table structure for table `users` */
  36. DROP TABLE IF EXISTS `users`;
  37. CREATE TABLE `users` (
  38. `Username` char(20) NOT NULL,
  39. `Password` char(20) NOT NULL,
  40. PRIMARY KEY (`Username`)
  41. ) ENGINE=InnoDB DEFAULT CHARSET=gbk;
  42. /*Data for the table `users` */
  43. insert into `users`(`Username`,`Password`) values ('admin','12345aaa'),('admin1','123456'),('admin12','asd'),('admin5','123'),('asd','123'),('asdf','123456'),('user01','123456'),('user02','123456'),('user03','123456'),('user04','123456'),('user05','12345678'),('user06','asd');
  44. /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
  45. /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
  46. /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
  47. /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
  1. 以上就是课程实践作业——个人信息管理系统的全部程序设计分析及相关代码,供大家学习使用,希望可以帮助到大家!如果各位有疑问的话,欢迎私信,发现错误,也希望可以指出,共同改进学习,加油💪!

本文转载自: https://blog.csdn.net/m0_63244368/article/details/127173145
版权归原作者 Vim_飞鱼 所有, 如有侵权,请联系我们删除。

“Java程序设计之(一)MySQL的交互-学生信息成绩管理系统”的评论:

还没有评论