大一下java期末設計:學生信息管理系統(榮獲班上第一)

来源:https://www.cnblogs.com/hepingan/archive/2023/07/14/17555086.html
-Advertisement-
Play Games

先上java代碼: 先上java代碼: import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.*; import java.util.Sc ...


先上java代碼:

先上java代碼:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.util.Scanner;
import javax.swing.*;


public class cs2 extends JFrame {
public static void main(String[] args) {
// 未完成的swing界面設計
// JFrame frame = new JFrame("學生信息管理系統");
// frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// frame.setSize(600,400);
// frame.setVisible(true);
// frame.setLayout(new FlowLayout());
// JButton loginbutton=new JButton("登錄");
// frame.add(loginbutton);
// JButton zhucebutton=new JButton("註冊");
// frame.add(zhucebutton);
// JButton checkBot= new JButton("查詢");
// checkBot.setEnabled(false);
// JButton luruBot =new JButton("錄入");
// luruBot.setEnabled(false);
// frame.add(checkBot);
// frame.add(luruBot);
// ImageIcon imageIcon =new ImageIcon(("src/hehao.jpg"));
//
// JPanel loginPanel =new JPanel();
// loginPanel.setLayout(new GridLayout(3,2));
// loginPanel.add(new JLabel("姓名:"));
// JTextField usernameField=new JTextField();
// loginPanel.add(new JLabel("密碼:"));
// JTextField PasswordField= new JTextField();
// loginPanel.add(PasswordField);
// loginPanel.add(loginbutton);
// loginPanel.add(zhucebutton);
//
// loginbutton.addActionListener(new ActionListener() {
// @Override
// public void actionPerformed(ActionEvent e) {
// String username = usernameField.getText();
// String password = String.valueOf(PasswordField.getText());
// if(username.equals("name")&&password.equals("password")){
// loginbutton.setVisible(false);
// luruBot.setEnabled(true);
// checkBot.setEnabled(true);
// }else{
// JOptionPane.showMessageDialog(frame,
// "用戶名或密碼輸入錯誤",
// "登錄失敗",
// JOptionPane.ERROR_MESSAGE);
// }
// }
// });
// zhucebutton.addActionListener(new ActionListener() {
// @Override
// public void actionPerformed(ActionEvent e) {
// loginbutton.setEnabled(false);
// }
// });
// SwingUtilities.invokeLater(new Runnable() {
// @Override
// public void run() {
// new cs2();
// }
// });2


System.out.println("歡迎使用學生信息管理系統!");
System.out.println("正在為你載入程式...");
final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
final String DB_URL = "jdbc:mysql://localhost:3306/hh";//資料庫名為hh
final String USER = "root";
final String PASS = "123cd233";//賬號和密碼
System.out.println("請選擇你的操作:登錄按1,註冊賬號按2");
Scanner input = new Scanner(System.in);
int x = input.nextInt();
int y = 0;

Connection conn = null;
ResultSet rs = null;
PreparedStatement pstmt = null;
Statement stmt = null;
if (x != 1 && x != 2) {
System.out.println("您輸入的有誤,請重新運行程式");
System.exit(0);
}
zhuce:
while (x == 2) {
System.out.println("您已進入註冊系統");
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL, USER, PASS);

Scanner scanner = new Scanner(System.in);
System.out.println("請輸入你的學號:");
int id = scanner.nextInt();
System.out.println("請輸入你的姓名:");
String name = scanner.next();
System.out.println("請輸入你的註冊的密碼:");
String password = scanner.next();
String sql2 ="SELECT * FROM student WHERE id=? ";
pstmt=conn.prepareStatement(sql2);
pstmt.setInt(1,id);

String sql = "INSERT INTO student (id, name, password) VALUES (?, ?, ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
pstmt.setString(2, name);
pstmt.setString(3, password);

int rows = pstmt.executeUpdate();
if (rows > 0) {
System.out.println("註冊成功!");
}
} catch (Exception se) {
se.printStackTrace();
} finally {
try {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (Exception se) {
se.printStackTrace();
}
}
x = -1;
}
denglu:
while (x == 1) {
System.out.println("您已進入登錄系統");
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL, USER, PASS);

Scanner scanner = new Scanner(System.in);
System.out.println("請輸入你的學號:");
int id = scanner.nextInt();
System.out.println("請輸入你姓名:");
String name = scanner.next();
System.out.println("請輸入你的密碼:");
String password = scanner.next();

String sql = "SELECT * FROM student WHERE id = ? and name = ? and password = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
pstmt.setString(2, name);
pstmt.setString(3, password);

rs = pstmt.executeQuery();
if (rs.next()) {
System.out.println("輸入成功.");
y = 1;
} else {
System.out.println("你輸入的有誤,已為你重新運行登錄系統請再次輸入.");
y = 2;
}
} catch (Exception se) {
se.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (Exception se) {
se.printStackTrace();
}
if (y == 1) {
break;
} else if (y == 2) {
continue;
}
}
}
if (y == 1) {
System.out.println("--------------------");
System.out.println("歡迎進入學生信息管理系統");
System.out.println("---------------------");
System.out.println("請選擇你的操作:查詢成績請按1,錄入成績請按2");
int r = input.nextInt();
if (r == 2) {
System.out.println("請輸入你的成績:");
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL, USER, PASS);
Scanner scanner = new Scanner(System.in);
int score = scanner.nextInt();
System.out.println("請輸入你的學號:");
int id = scanner.nextInt();
String sql = "UPDATE student SET score= ? WHERE id=?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, score);
pstmt.setInt(2, id);

int rows = pstmt.executeUpdate();
if (rows > 0) {
System.out.println("錄入成功!");
}
} catch (Exception se) {
se.printStackTrace();
} finally {
try {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (Exception se) {
se.printStackTrace();
}
}
}
if (r == 1) {
System.out.println("請輸入你的學號:");
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL,USER,PASS);
int id = input.nextInt();
String sql = "SELECT score FROM student WHERE id = ?"; // Use placeholders
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
rs = pstmt.executeQuery();
if(rs.next()) {
int score = rs.getInt("score");
System.out.println("成績為: " + score+" , tips:如果未錄入成績預設成績為0分");
}
input.close();
} catch (SQLException se) {
se.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null)
rs.close();
} catch (SQLException se) {
}
try {
if (pstmt != null)
pstmt.close();
} catch (SQLException se) {
}
try {
if (conn != null)
conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
}
}
}
}
分享一個IDEA的破解網站教程:IDEA2023.1破解 永久激活 最新版IDEA激活 親測可用! – 愛激活網 (aijihuo.cn)

數據使用的mysql資料庫,版本是8.1,創建student表的資料庫代碼:

create table student(id int name varchar(20),password varchar(20),score int);

 

分享一個IDEA的破解網站教程:IDEA2023.1破解 永久激活 最新版IDEA激活 親測可用! – 愛激活網 (aijihuo.cn)

數據使用的mysql資料庫,版本是8.1,創建student表的資料庫代碼:

create table student(id int name varchar(20),password varchar(20),score int);


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 原文地址:https://blog.csdn.net/zhanglei5415/article/details/131434931 ## 一、問題 當對含有中文的url字元串,進行NSURL對象包裝時,是不能被識別的。 不會得到期望的NSURL對象,而是返回一個nil 值 ; ```objectiv ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 本文的起因是有在代碼倉庫發包後,同事問我“為什麼package.json 里的版本還是原來的,有沒有更新?”,這個時候我意識到,我們完全沒有必要在每次發佈的時候還特意去關註這個倉庫的版本號,只要在發佈打tag的時候同步一下即可,於是有了本 ...
  • ![你真的瞭解bind嗎](https://guizimo.oss-cn-shanghai.aliyuncs.com/img/%E4%BD%A0%E7%9C%9F%E7%9A%84%E4%BA%86%E8%A7%A3bind%E5%90%97.png) # 引言 ## 內容速遞 > 看了本文您能瞭解 ...
  • 對於各種類型的埋點來說,曝光埋點往往最為複雜、需要用到的技術也最全面、如果實現方式不合理可能造成的影響也最大,因此本文將重點介紹曝光埋點尤其是長列表(或滾動視圖)內元素曝光埋點的實現思路及避坑技巧 ...
  • # window.localStorage.setItem 和 localStorage.setItem 有什麼區別 - 在JavaScript中,localStorage.setItem和window.localStorage.setItem實際上是相同的, - 它們是對瀏覽器的本地存儲(Loca ...
  • 基於tauri+vite4+pinia2跨端後臺管理系統應用實例TauriAdmin。 tauri-admin 基於最新跨端技術 Tauri Rust webview2 整合 Vite4 構建桌面端通用後臺管理解決方案。搭載輕量級ve-plus組件庫、支持多視窗切換管理、vue-i18n多語言包、動 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 前言 最近剛剛學習了Echarts的使用,於是想做一個小案例來鞏固一下。項目效果如下圖所示: 話不多說,開始進入實戰。 創建項目 這裡我們使用vue-cli來創建腳手架: vue create app 這裡的app是你要創建的項目的名稱, ...
  • 推薦使用壓縮軟體和殺毒軟體 7 - zip 使用火絨 # 一、基本數據類型與變數(上) ### 2.1 註釋 優點: 1. 代碼說明 沒註釋的代碼 有註釋的代碼 1. 不讓解釋器執行註釋的那句話 ### 2.2 單行註釋 單行註釋快捷鍵:ctrl + ? ### 2.3多行註釋 """""" (三個 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...