StudentMIS学生信息管理系统
—基于 sql 和 javafx 编写,使用 SQLServer 2016 和 eclipse 完成的一个简易学生管理系统,拥有增、删、改、查四个基本的管理功能
1.数据库建立
(1)建立数据库
create database Student;
(2)Student 表建立
create table Student( 学号 varchar(50) not null, 姓名 varchar(50) , 性别 varchar(50) , 密码 varchar(50) not null, primary key (学号) );
(3)连接数据库
Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver).newInstan ce();// 加载数据库驱动
DriverManager.getConnection(jdbc:microsoft:sqlserver://127.0.0.1: 1433;DatabaseName=Student, sa, );// 创建新的数据库连接
2.数据处理
(1)添加用户信息
嵌入式 sql 语句: PreparedStatement statement = conn.prepareStatement("insert into Student values('" + InsertuserID + "','" + InsertUserNumber + "','" + InsertUserSex + "','" + InsertPassword + "')");
(2)删除用户信息
嵌入式 sql 语句: PreparedStatement statement1 = conn.prepareStatement("delete from Student where 学号 = '" + DeleteuserID + "'");
(3)更新用户信息
嵌入式 sql 语句: PreparedStatement statement1 = conn.prepareStatement("update Student set 姓名 = '" + updateUserNumber + "' where 学号 = '" + updateUserID + "'"); PreparedStatement statement2 = conn.prepareStatement("update Student set 性别 = '" + updateUserSex + "' where 学号 = '" + updateUserID + "'"); PreparedStatement statement3 = conn.prepareStatement("update Student set 密码 = '" + updateUserPassword + "' where 学号 = '" + updateUserID + "'");
(4)查询用户信息
查询单条信息,
嵌入式 sql 语句: String sql = "select 姓名 from Student where 学号 = '" + selectUserNumber + "'"; String sql = "select 性别 from Student where 学号 = '" + selectUserNumber + "'"; String sql = "select 密码 from Student where 学号 = '" + selectUserNumber + "'";
查询所有信息,
嵌入式 sql 语句: String sql = "select * from Student where 学号 = '" + selectUserNumber + "'"; String sql = "select * from Student ";
3.部分关键代码:
(1).数据库连接
private static final String DRIVERCLASS = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static final String URL = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Student";
private static final String USERNAME = "sa"; private static final String PASSWORD = "";
private static final ThreadLocal threadLocal = new ThreadLocal(); // 创建数据库连接
public static Connection getConnection() {
Connection conn = threadLocal.get();// 从线程中获得数据库连接
if (conn == null) {
// 没有可用的数据库连接
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);// 创建新的数据库连接
threadLocal.set(conn);// 将数据库连接保存到线程中
}
catch (SQLException e) {
e.printStackTrace();
}
}
System.out.println("数据库连接成功 "); //控制台信息查看
return conn; }
(2).增加数据库信息
//用户信息插入
public static int InsertUserNumber(String InsertuserID,String InsertUserNumber,String InsertUserSex,String InsertPassword) {
Connection conn = getConnection(); // 获取数据库连接
if(selectUserNumber(InsertUserNumber)!=0){
System.out.println("该用户已存在");
return 0 ; }
else{
try {
PreparedStatement statement = conn .prepareStatement("insert into Student values('" + InsertuserID + "','" + InsertUserNumber + "','" + InsertUserSex + "','" + InsertPassword + "')"); // 定义插入数据库的预处理语句
statement.executeUpdate(); // 执行预处理语句
System.out.println("注册运行成功");
}
catch (SQLException e) {
e.printStackTrace();
}
return 1;
}
}
(3).删除数据库信息
//用户数据删除
public static int DeleteUserNumber(String DeleteuserID) {
Connection conn = getConnection(); // 获取数据库连接
if(Administrators.equals(ID2) == true){
try { PreparedStatement statement1 = conn .prepareStatement("delete from Student where 学号 = '" + DeleteuserID + "'"); // 定义插入数据库的预处理语句 statement1.executeUpdate(); // 执行预处理语句
System.out.println("删除运行成功");
}
catch (SQLException e) {
e.printStackTrace();
}
return 1;
}
else return 0;
}
(4).更新数据库信息
//用户数据更新
public static int UpdateUserNumber(String updateUserID,String updateUserNumber, String updateUserSex, String updateUserPassword) {
Connection conn = getConnection(); // 获取数据库连接
if(updateUserID.equals(ID2) == true){
try {
PreparedStatement statement1 = conn.prepareStatement("update Student set 姓名 = '" + updateUserNumber + "' where 学号 = '" + updateUserID + "'"); // 定义插入 数据库的预处理语句
PreparedStatement statement2 = conn .prepareStatement("updateStudentset 性别 ='"+ updateUserSex + "' where 学号 = '" + updateUserID + "'");
PreparedStatement statement3 = conn .prepareStatement("update Student set 密码 = '" + updateUserPassword + "' where 学号 = '" + updateUserID + "'");
statement1.executeUpdate();
statement2.executeUpdate();
statement3.executeUpdate(); // 执行预处理语句
System.out.println("更新运行成功");
}
catch (SQLException e) {
e.printStackTrace();
}
return 1;
}
else return 0;
}
(5).查询数据库信息
//用户信息查询
public static void select(String selectUserNumber) {
Connection conn = getConnection(); // 获取数据库连接
ID2 = selectUserNumber;//保留用户ID
try {
Statement statment = conn.createStatement(); // 获取 Statement对象
String sql = "select * from Student where 学号 = '" + selectUserNumber + "'"; // 定义查询SQL语句
ResultSet rest = statment.executeQuery(sql); // 执行查询语 句获取查询结果集
while (rest.next()){ ID = rest.getString(1); // 获取查询结果
Name = rest.getString(2);
Sex = rest.getString(3);
Password = rest.getString(4);//窗口无显示
}
}
catch (Exception e) {
e.printStackTrace();
}
}