📄 studentpanel.java
字号:
default: System.out.println( "Type was: " +rsmd.getColumnTypeName( i ) );
}//end_Switch
return currentRow;//返回当前行
}
/**
私有类作为各个面板监听
*/
private class StudentPanelAction implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
/**
修改密码界面监听
*/
if(selected == 0) //修改密码界面事件监听
{
if(e.getSource() == changeButton) //修改密码按钮
{
newPassword = new String(newPasswordField.getPassword());
againPassword = new String(againPasswordField.getPassword());
if(newPassword.equals(againPassword))
{
try
{
inquestPass();
}
catch(SQLException sqle){}
}
else
{
JOptionPane.showMessageDialog(StudentPanel.this, "你输入的密码不匹配,请重新输入!", "用户帐户", JOptionPane.WARNING_MESSAGE);
oldPasswordField.setText(null);
newPasswordField.setText(null);
againPasswordField.setText(null);
}
}
if(e.getSource() == resetButton) //重置按钮
{
oldPasswordField.setText(null);
newPasswordField.setText(null);
againPasswordField.setText(null);
}
}
/**
选课申请界面监听 选课申请界面监听 选课申请界面监听
*/
if(selected == 2)
{
String commodityquery = "SELECT * FROM 课程信息表 WHERE 课程号="
+ courseNumTextField.getText() + "";
//调用申请课程方法
appendInfo(commodityquery);
}
/**
个人信息修改界面监听
*/
if(selected ==4)
{
if(e.getSource() == searchButton) //查询按钮
{
try
{
insertQuery = "SELECT * FROM 学生基本信息表 WHERE 学号='"
+ LoginFrame.myTextField.getText() + "'";
//System.out.println(insertQuery);
studentInfoQuery();
}
catch(SQLException ee)
{
JOptionPane.showMessageDialog (StudentPanel.this, ee ,
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
}
}
if(e.getSource() == changeButton) // 修改按钮
{
try
{
insertUpdate = "update 学生基本信息表 set 性别='"+ sexField.getText()
+ "',专业='" + majorField.getText()+"',生日='" + birthField.getText()
+ "',身高=" + heightField.getText()
+ " where 学号 = '"+LoginFrame.myTextField.getText()+"'";
update();
}
catch(SQLException ee)
{
JOptionPane.showMessageDialog (StudentPanel.this, ee ,
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
}
}
if(e.getSource() == resetButton) //重置按钮
{
sexField.setText(null);
majorField.setText(null);
birthField.setText(null);
heightField.setText(null);
}
}
}
//下面两个是修改密码所用的似有方法
private void inquestPass() throws SQLException
{
loginUserName = LoginFrame.myTextField.getText();
oldPassword = new String(oldPasswordField.getPassword());
insertQuery="SELECT * FROM 学生基本信息表 WHERE 学号='"
+ loginUserName + "' AND 密码='" + oldPassword + "'";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException cnfe){}
con=DriverManager.getConnection(url, username, password);
stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(insertQuery);
boolean moreRecords=rs.next();
if(!moreRecords)
{
JOptionPane.showMessageDialog(StudentPanel.this, "请输入当前使用的密码", "警告", JOptionPane.WARNING_MESSAGE);
con.close();
return;
}
else
try
{
updatePass();
}
catch ( SQLException sqlex )
{
JOptionPane.showMessageDialog (StudentPanel.this ,"你输入的数据类型不匹配或长度超出了\n" +
"允许的长度,请重新输入或联系管理员!",
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
}
}
//也是修改密码所用方法
private void updatePass() throws SQLException
{
String newpassword = new String(newPasswordField.getPassword());
insertUpdate = "UPDATE 学生基本信息表 SET 密码='" + newPassword +
"' WHERE 学号='" + loginUserName + "'";
int insert = stmt.executeUpdate( insertUpdate ); //executeUpdate返回一个整型值
if (insert >=1)
{
JOptionPane.showMessageDialog( StudentPanel.this,"密码修改成功!" );
}
con.close();
}
//申请课程所用的方法 申请课程所用的方法 申请课程所用的方法
/*--------------------------appendInfo添加信息----------------------------*/
private void appendInfo(String commodityquery)
{
try
{
String insertInput = "INSERT INTO 成绩表 VALUES('"
+ LoginFrame.myTextField.getText() + "','"
+ courseNumTextField.getText() + "'," + null + ")";
stmt = con.createStatement();
ResultSet queryresultSet = stmt.executeQuery( commodityquery );
boolean moreRecords = queryresultSet.next();
if ( !moreRecords )
{
JOptionPane.showMessageDialog(StudentPanel.this,"对不起,此课程没有开课,请重新输入" );
//setTitle( "无记录显示" );
//queryconnection.close();
return;
}
int insert = stmt.executeUpdate( insertInput );//executeUpdate返回一个整型值
if (insert == 1)
{
JOptionPane.showMessageDialog(StudentPanel.this,"选课申请成功!" );
}
}
catch ( SQLException sqlex )
{
//sqlex.printStackTrace();
JOptionPane.showMessageDialog (StudentPanel.this, sqlex ,
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
courseNumTextField.setText("");
}
}
//下面两个方法是修改个人信息所用的方法 下面两个方法是修改个人信息所用的方法
//查询学生个人信息
private void studentInfoQuery() throws SQLException
{
// String InsertQuery="SELECT * FROM 学生基本信息表 WHERE 学号='"
// +LoginFrame.myTextField.getText()+"'";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException cnfex)
{
JOptionPane.showMessageDialog (StudentPanel.this,cnfex ,
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
}
con=DriverManager.getConnection(url,username,password);
stmt=con.createStatement();
ResultSet myRS= stmt.executeQuery(insertQuery);
boolean moreRecords = myRS.next();
if(!moreRecords)
{
String warning="该帐号不存在!";
JOptionPane.showMessageDialog(StudentPanel.this, warning,"警告",JOptionPane.WARNING_MESSAGE);
con.close();
return;
}
else
{
nameField.setText(myRS.getString("姓名"));
sexField.setText(myRS.getString("性别"));
majorField.setText(myRS.getString("专业"));
birthField.setText(myRS.getString("生日"));
heightField.setText(myRS.getString("身高"));
con.close();
}
}
//修改学生个人信息
private void update() throws SQLException
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
//捕获加载驱动程序异常
catch ( ClassNotFoundException cnfex )
{
System.err.println("装载 JDBC/ODBC 驱动程序失败。" );
//cnfex.printStackTrace();
JOptionPane.showMessageDialog (StudentPanel.this ,cnfex ,
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
System.exit( 1 ); // terminate program
}
try
{
con=DriverManager.getConnection(url,username,password);
stmt = con.createStatement();
int insert = stmt.executeUpdate( insertUpdate );//executeUpdate返回一个整型值
if (insert >=1)
{
JOptionPane.showMessageDialog(StudentPanel.this,"信息修改成功!" );
}
con.close();
}
catch( SQLException sqlex )
{
JOptionPane.showMessageDialog (StudentPanel.this ,sqlex ,
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
}
}
}
private int selected;
private JButton changeButton, resetButton; //修改密码界面按钮
private JButton queryButton, backButton, searchButton; //课程修读界面按钮
private JPasswordField oldPasswordField, newPasswordField, againPasswordField;
private String insertQuery, insertUpdate;
private Connection con=null;
private Statement stmt=null;
private String url = "jdbc:odbc:java";
private String username = "sa", loginUserName, oldPassword, newPassword, againPassword;
private String password = "";
private JTextField nameField, sexField, majorField, birthField, heightField;
private JTextField courseNumTextField;
private String query = null;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -