📄 comform_score.java
字号:
import java.awt.*;
import java.sql.*;
import java.util.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import java.sql.PreparedStatement;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
public class Comform_score extends JFrame implements ActionListener
{
static String selected;
Connection connection;
Statement statement;
ResultSet resultSet;
ResultSetMetaData rsMetaData;
GridBagLayout gbl=new GridBagLayout();
GridBagConstraints gbc=new GridBagConstraints();
JPanel topanel;
JTable table;
JButton comform,fanhui;
String query,shuru;
public Comform_score()
{
super.setSize(800,400);
super.setLocation(180,80);
String url="jdbc:odbc:StudentScore";
String username="sa";
String password="";
topanel=new JPanel();
comform=new JButton("确认");
comform.addActionListener(this);
fanhui=new JButton("返回");
fanhui.addActionListener(this);
set(0,0,1,1,topanel,comform);set(1,0,1,1,topanel,fanhui);
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection=DriverManager.getConnection(url,username,password);
}
catch(ClassNotFoundException cnfex)
{
System.err.println( "装载JDBC/ODBC驱动程序失败。");
cnfex.printStackTrace();
System.exit(1);
}
catch(SQLException sqlex)
{
System.err.println("无法连接数据库");
sqlex.printStackTrace();
System.exit(1);
}
table=new JTable();
Container c=getContentPane();
c.add(topanel,BorderLayout.NORTH);
c.add(table,BorderLayout.CENTER);
String _query="select * from score where legal='n'";
getTable(_query);
}
public void set(int x,int y,int w,int h,JPanel com,Component zujian)
{
gbc.anchor=GridBagConstraints.NORTH;
gbc.gridx=x;
gbc.gridy=y;
gbc.gridwidth=w;
gbc.gridheight=h;
gbl.setConstraints(com, gbc);
com.add(zujian);
}
public void actionPerformed(ActionEvent e)
{
Object obj=e.getSource();
if(obj==comform)
{
String query="update score set legal='y' where score_id="+selected;
try
{
JOptionPane.showMessageDialog(this, "确定修改吗?", "错误",JOptionPane.QUESTION_MESSAGE);
statement =connection.createStatement();
resultSet=statement.executeQuery(query);
table.validate();//shua xin biao ge.
}
catch(SQLException sql)
{
//System.out.println(sql.getMessage());
}
}
if(obj==fanhui)
{
this.dispose();
Admin_manage admin=new Admin_manage();
admin.setVisible(true);
}
}
private void getTable(String query)
{
try
{
statement =connection.createStatement();
resultSet=statement.executeQuery(query);
displayResultSet(resultSet);
}
catch(SQLException sqlex)
{
//sqlex.printStackTrace();
}
}
private void displayResultSet(ResultSet rs) throws SQLException
{
boolean moreRecords=rs.next();
if(!moreRecords)
{
JOptionPane.showMessageDialog(this,"结果集中无记录");
setTitle("无记录显示");
return;
}
Vector columnHeads=new Vector();
Vector rows=new Vector();
try
{
ResultSetMetaData rsmd=rs.getMetaData();
for(int i=1;i<=rsmd.getColumnCount();++i)
columnHeads.addElement(rsmd.getColumnName(i));
do{
rows.addElement(getNextRow(rs,rsmd));
} while(rs.next());
table=new JTable(rows,columnHeads)
{
public void valueChanged(ListSelectionEvent e)
{
super.valueChanged(e);
if (!this.isVisible())
{
return;
}
ListSelectionModel sm =(ListSelectionModel)e.getSource();
int row = sm.getLeadSelectionIndex();
selected=(String)table.getValueAt(row,0);
System.out.println(selected);
}
};
JScrollPane scroller=new JScrollPane(table);
Container c=getContentPane();
c.remove(1);
c.add(scroller,BorderLayout.CENTER);
//刷新Table
c.validate();
}
catch(SQLException sql)
{
//sql.printStackTrace();
}
}
private Vector getNextRow( ResultSet rs,ResultSetMetaData rsmd) throws SQLException
{
Vector currentRow = new Vector();
for(int i=1; i<=rsmd.getColumnCount();++i)
currentRow.addElement(rs.getString(i));
//返回一条记录
return currentRow;
}
public void shutDown()
{
try
{
//断开数据库连接
connection.close();
}
catch(SQLException sqlex)
{
System.err.println( "Unable to disconnect" );
//sqlex.printStackTrace();
}
}
public static void main(String[] args)
{
Comform_score xian=new Comform_score();
xian.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
xian.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -