⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 studentdetailstest.java

📁 ACCP 软件工程java 教程学生用书
💻 JAVA
字号:
/**
 * (c)北大青鸟APTECH
 * All Rights Reserved
 */
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;

/**
 * This class Adds, Modifies, searches and deletes record.
 * @version 1.0 15 June 2005
 * @author Michael
 */

class StudentDetails {

  /** Declaring a statement object.*/
  private Statement stmtObj;

  /** Declaring a string variable.*/
  private String strSql;

  /** Declaring a Connection object.*/
  private Connection con;

  /** Declaring a BufferedReader object.*/
  private BufferedReader bufferObj;

  /**
   *  Constructor. 
   */
  StudentDetails() {
    bufferObj = new BufferedReader(new InputStreamReader(System.in));
  }

  /**
   *  Method establishing connection. 
   */  
  void establishConnection() {
    try {

      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }
    catch (ClassNotFoundException ce) {
      System.out.println(ce);
    }

    try {
      String url = "jdbc:odbc:test";
      con = DriverManager.getConnection(url, "sa", "sa");
      stmtObj = con.createStatement();
    }
    catch (SQLException ce) {
      System.out.println("Error... " + ce);
    }

  }

  /** 
   * Adding a record in the database. 
   */
  void addRecord() {

    try {

      System.out.print("\n请输入学号: ");
      int roll = Integer.parseInt(bufferObj.readLine());

      System.out.print("\n请输入学生的姓名: ");
      String name = bufferObj.readLine();

      System.out.print("\n请输入课程名称: ");
      String course = bufferObj.readLine();

      strSql = "Insert into Student values('" + name;
      strSql = strSql + "', " + roll + ",'" + course + "')";

      stmtObj.executeUpdate(strSql);
      System.out.print("\n记录已成功添加 !");
      System.out.println();

    }
    catch (SQLException ioe) {
       System.out.println("错误 :" + ioe);
    }
    catch (Exception e) {
      System.out.println(e);
    }
  }

  /** 
   * Modifying a record in the database. 
   */
  void modifyRecord() {

    try {

      System.out.print("\n 请输入要修改"
                       + " 记录的学号: ");
      int roll = Integer.parseInt(bufferObj.readLine());

      System.out.print("\n请输入要修改的学生姓名: ");
      String name = bufferObj.readLine();

      System.out.print("\n请输入要修改的课程名称: ");
      String course = bufferObj.readLine();

      strSql = "Update student set Name ='" + name;
      strSql = strSql + "' " + ",Course ='" + course;
      strSql = strSql + "' where RollNo =" + roll;

      stmtObj.executeUpdate(strSql);
      System.out.print("\n记录已成功修改 !");
      System.out.println();

    }
    catch (SQLException ioe) {
      System.out.println(ioe);
    }
    catch (Exception e) {
      System.out.println(e);
    }
  }

  /**
   * Deleting a record in the database. 
   */
  void deleteRecord() {

    try {

      System.out.print("\n请输入"
                       + " 要删除记录的学号: ");
      int roll = Integer.parseInt(bufferObj.readLine());

      System.out.print("\n请输入要删除的学生姓名: ");
      String name = bufferObj.readLine();

      strSql = "Delete from student where rtrim(Name) like '" + name;
      strSql = strSql + "' and RollNo =" + roll;
      stmtObj.executeUpdate(strSql);
      System.out.print("\n记录已成功删除 !");
      System.out.println();

    }
    catch (SQLException ioe) {
      System.out.println("删除时出错...." + ioe);
    }
    catch (Exception e) {
      System.out.println("错误....." + e);
    }
  }

  /** 
   * Searching a record in the database.
   */
  void searchRecord() {

    try {

      System.out.print("\n请输入"
                       + " 要搜索记录的学号: ");
      int roll = Integer.parseInt(bufferObj.readLine());

      System.out.print("\n请输入要搜索的学生姓名: ");
      String name = bufferObj.readLine();

      strSql = "select * from student where Name like'" + name;
      strSql = strSql + "' and RollNo=" + roll;
      ResultSet rs = stmtObj.executeQuery(strSql);
      if (!rs.next()) {
        System.out.println("\n记录未找到");
      }
      else {
        System.out.print("\n姓名 : ");
        System.out.print(rs.getString(1) + "\t");
        System.out.print("\n学号 : ");
        System.out.print(rs.getInt(2) + "\t");
        System.out.print("\n课程 : ");
        System.out.print(rs.getString(3) + "\n");
      }
    }
    catch (SQLException ioe) {
      System.out.println(ioe);
    }
    catch (Exception e) {
      System.out.println(e);
    }
  }

  /** Displaying a choice to the user.
   * @throws IOException object
   */
  public void menudisplay() throws IOException {

    char choice;

    while (true) {
      System.out.println();
      System.out.println("1.添加记录");
      System.out.println("2.修改记录");
      System.out.println("3.删除记录");
      System.out.println("4.搜索记录");
      System.out.println("5.退出\n\n");
      System.out.print("请输入您的选择...: ");
      BufferedReader br = new BufferedReader(new
                                             InputStreamReader(System.in));
      choice = (char) br.read();

      switch (choice) {

        case '1':
          System.out.println("\n正在添加记录......");
          addRecord();
          break;
        case '2':
          System.out.println("\n正在修改记录......");
          modifyRecord();
          break;
        case '3':
          System.out.println("\n正在删除记录......");
          deleteRecord();
          break;
        case '4':
          System.out.println("\n正在搜索记录......");
          searchRecord();
          break;
        case '5':
          System.exit(0);
          break;
        default:
          System.out.println("\n请输入一个有效数字\n");
          break;
      }
    }
  }
}

/**
 * Test the StudentDetails class.
 * @version 1.0 20 May 2005
 * @author Michael
 */
class StudentDetailsTest {

  /** Constructor. */
  protected StudentDetailsTest() {
  }

  /**
   * This is the starting point of execution of any application.
   * @param args passed to the main method
   * @throws IOException object
   */

  public static void main(String[] args) throws IOException {

    StudentDetails studentObj = new StudentDetails();
    studentObj.establishConnection();
    studentObj.menudisplay();
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -