📄 teacherpanel.java
字号:
System.exit( 1 ); // terminate program
}
try
{
stmt = con.createStatement();
/*--------------------------执行录入------------------------*/
ResultSet rs = stmt.executeQuery( insertQuery );
boolean moreRecords = rs.next();
if (! moreRecords )
{
JOptionPane.showMessageDialog( TeacherPanel.this,"对不起,该记录不存在,请重新输入" );
stuNumTextField.setText(null);
courseNumTextField.setText(null);
courseNameTextField.setText(null);
gradeTextField.setText(null);
con.close();
return;
}
courseNameTextField.setText(rs.getString("课程名"));
if(selected == 52)
{
selected = 2;
//courseNameTextField.setText(rs.getString("课程名"));
gradeTextField.setText(rs.getString("分数"));
con.close();
return;
}
/*---------------------------------------------------*/
int insert = stmt.executeUpdate( insertUpdate );//executeUpdate返回一个整型值
if (insert == 1)
{
JOptionPane.showMessageDialog(TeacherPanel.this,"操作成功!" );
}
/*---------------------------------------------------*/
}
catch ( SQLException sqlex )
{
/*f((select!=52)&&select!=51))
{
JOptionPane.showMessageDialog ( this ,"你输入的数据类型不匹配或长度超出了\n"+
"允许的长度,请重新输入或联系管理员!",
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
}
else*/
JOptionPane.showMessageDialog (TeacherPanel.this ,sqlex ,
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
}
}
//下面两个方法是修改个人信息所用的方法 下面两个方法是修改个人信息所用的方法
//查询教师个人信息
private void inquest() throws SQLException
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException cnfex)
{
JOptionPane.showMessageDialog ( TeacherPanel.this,cnfex ,
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
}
con=DriverManager.getConnection(url,username,password);
stmt=con.createStatement();
ResultSet rs= stmt.executeQuery(insertQuery);
boolean moreRecords = rs.next();
if(!moreRecords)
{
String warning="该帐号不存在!";
JOptionPane.showMessageDialog(TeacherPanel.this, warning,"警告",JOptionPane.WARNING_MESSAGE);
con.close();
return;
}
else
{
numTextField.setText(rs.getString("登陆帐号"));
nameTextField.setText(rs.getString("教师"));
collegeTextField.setText(rs.getString("院系"));
sexTextField.setText(rs.getString("性别"));
ageTextField.setText(rs.getString("年龄"));
titleTextField.setText(rs.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 (TeacherPanel.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(TeacherPanel.this,"信息修改成功!" );
}
con.close();
}
catch( SQLException sqlex )
{
JOptionPane.showMessageDialog (TeacherPanel.this ,sqlex ,
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
}
}
}
//选课名单所用的方法三个
/*----------------------------getTable-------------------------------*/
private void getTable(String commodityquery)
{
//加载驱动程序以连接数据库
try
{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
con = DriverManager.getConnection( url, username, password );
}
//捕获加载驱动程序异常
catch ( ClassNotFoundException cnfex )
{
System.err.println("装载 JDBC/ODBC 驱动程序失败。" );
cnfex.printStackTrace();
JOptionPane.showMessageDialog (TeacherPanel.this ,cnfex ,
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
System.exit( 1 ); // terminate program
}
//捕获连接数据库异常
catch ( SQLException sqlex )
{
System.err.println( "无法连接数据库" );
sqlex.printStackTrace();
JOptionPane.showMessageDialog ( TeacherPanel.this, sqlex ,
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
System.exit( 1 ); // terminate program
}
try
{
//执行SQL语句
stmt = con.createStatement();
ResultSet queryresultSet = stmt.executeQuery( commodityquery );
//在表格中显示查询结果
displayResultSet( queryresultSet); //调用另一个方法
}
catch ( SQLException sqlex )
{
sqlex.printStackTrace();
JOptionPane.showMessageDialog (TeacherPanel.this,sqlex ,
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
}
}
/*---------------------------displayResultSet--------------------------------*/
private void displayResultSet( ResultSet commodityrs ) throws SQLException
{
//定位到达第一条记录
boolean commoditymoreRecords = commodityrs.next();
//如果没有记录,则提示一条消息
if ( ! commoditymoreRecords )
{
JOptionPane.showMessageDialog(TeacherPanel.this, "无此记录" );
//setTitle( "无记录显示" );
return ;
}
Vector commoditycolumnHeads = new Vector();
Vector commodityrows = new Vector();
try
{
//获取字段的名称
ResultSetMetaData rsmd = commodityrs.getMetaData();
for(int i = 1; i <= rsmd.getColumnCount(); i++)
{
commoditycolumnHeads.addElement( rsmd.getColumnName( i ) );
}
//获取记录集
do
{
commodityrows.addElement(getNextRow( commodityrs, rsmd ) );
}
while ( commodityrs.next() );
ResultSetMetaData commodityrsmd = commodityrs.getMetaData(); //why???????
//在表格中显示查询结果
JTable commoditytable = new JTable( commodityrows, commoditycolumnHeads );
JScrollPane scroller = new JScrollPane( commoditytable );
scroller.setSize(800, 20);
// Container c = new Container();
// c.remove(1);
JPanel tablePanel = new JPanel();
tablePanel.setLayout( new BorderLayout() );
tablePanel.add( scroller, BorderLayout.CENTER );
add(tablePanel,BorderLayout.CENTER);
//刷新Table
validate();
}
catch ( SQLException sqlex )
{
JOptionPane.showMessageDialog (TeacherPanel.this ,sqlex ,
"学生选课管理系统",JOptionPane.WARNING_MESSAGE );
}
}
/*-----------------------------getNextRow---------------------------------*/
private Vector getNextRow( ResultSet rs, ResultSetMetaData rsmd )throws SQLException
{
Vector currentRow = new Vector();
for ( int i = 1; i <= rsmd.getColumnCount(); i++ )
switch( rsmd.getColumnType( i ) ) //判断数据类型
{
case Types.CHAR:
case Types.VARCHAR:
case Types.LONGVARCHAR: currentRow.addElement( rs.getString( i ) );
break;
case Types.DECIMAL: currentRow.addElement( rs.getBigDecimal( i ) );
break;
case Types.DATE: currentRow.addElement( rs.getDate( i ) );
break;
case Types.SMALLINT:
case Types.INTEGER: currentRow.addElement(new Integer( rs.getInt( i ) ) );
break;
default: System.out.println( "Type was: " +rsmd.getColumnTypeName( i ) );
}//end_Switch
return currentRow;//返回当前行
}
private int selected, insert;
private JButton changeButton, resetButton; //修改密码界面按钮
private JButton queryButton, updateButton; //选课名单查询按钮
private JPasswordField oldPasswordField, newPasswordField, againPasswordField;
private JTextField courseNumTextField, stuNumTextField, stuNameTextField, courseNameTextField, gradeTextField;
private JTextField numTextField, nameTextField, collegeTextField, sexTextField,
ageTextField, titleTextField; //教师个人信息维护界面文本区
private String query, 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 JTable stuNameTable;
private JButton confirmButton; //按成绩排序界面按钮
private JRadioButton byTotalButton, byAverageButton; //按成绩排序界面按钮
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -