?? jpanel2.java
字號:
ShowFrame show = new ShowFrame();
show.setVisible(true);
}
}
else if (e.getSource() == jButton2) {
jCheckBox1.setSelected(false);
jCheckBox2.setSelected(false);
jCheckBox3.setSelected(false);
jCheckBox4.setSelected(false);
jCheckBox5.setSelected(false);
String num="0";
if(!jTextField6.getText().equals(""))
num= jTextField6.getText().trim();
String str = "jdbc:odbc:yangAcess";
Connection con;
String sSelect =
"select 姓名,成績1,成績2,成績3,成績4,成績5,學號,(成績1+成績2+成績3+成績4+成績5)/5.0 from yang1 where 學號=" +
num;
ResultSet rs;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(str);
Statement stmt = con.createStatement();
rs = stmt.executeQuery(sSelect);
while (rs.next()) {
std.姓名 = rs.getString("姓名");
std.成績1 = rs.getInt("成績1");
std.成績2 = rs.getInt("成績2");
std.成績3 = rs.getInt("成績3");
std.成績4 = rs.getInt("成績4");
std.成績5 = rs.getInt("成績5");
std.學號 = rs.getInt("學號");
std.平均成績 = rs.getDouble(8);
}
con.close();
stmt.close();
}
catch (Exception se) {}
if (std.學號 == Integer.parseInt(num)) {
jCheckBox1.setEnabled(true);
jCheckBox2.setEnabled(true);
jCheckBox3.setEnabled(true);
jCheckBox4.setEnabled(true);
jCheckBox5.setEnabled(true);
make();
}
else {
jLabel20.setText("你輸入的學號不存在");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField1.setText("");
jTextField6.setText("");
jTextField7.setText("");
jTextField8.setText("");
}
}
else if (e.getSource() == jButton3) {
if (jCheckBox1.isSelected() == true) {
search(1);
jLabel8.setText("最高分 最低分 名次 平均分");
jLabel9.setText(Integer.toString(mar[0].最高分));
jLabel11.setText(Integer.toString(mar[0].最低分));
jLabel12.setText(Integer.toString(mar[0].名次));
jLabel13.setText(Double.toString(mar[0].平均分));
}
if (jCheckBox2.isSelected() == true) {
search(2);
jLabel8.setText("最高分 最低分 名次 平均分");
jLabel14.setText(Integer.toString(mar[1].最高分));
jLabel15.setText(Integer.toString(mar[1].最低分));
jLabel16.setText(Integer.toString(mar[1].名次));
jLabel17.setText(Double.toString(mar[1].平均分));
}
if (jCheckBox3.isSelected() == true) {
search(3);
jLabel8.setText("最高分 最低分 名次 平均分");
jLabel18.setText(Integer.toString(mar[2].最高分));
jLabel19.setText(Integer.toString(mar[2].最低分));
jLabel110.setText(Integer.toString(mar[2].名次));
jLabel111.setText(Double.toString(mar[2].平均分));
}
if (jCheckBox4.isSelected() == true) {
search(4);
jLabel8.setText("最高分 最低分 名次 平均分");
jLabel112.setText(Integer.toString(mar[3].最高分));
jLabel113.setText(Integer.toString(mar[3].最低分));
jLabel114.setText(Integer.toString(mar[3].名次));
jLabel115.setText(Double.toString(mar[3].平均分));
}
if (jCheckBox5.isSelected() == true) {
search(5);
jLabel8.setText("最高分 最低分 名次 平均分");
jLabel116.setText(Integer.toString(mar[4].最高分));
jLabel117.setText(Integer.toString(mar[4].最低分));
jLabel118.setText(Integer.toString(mar[4].名次));
jLabel119.setText(Double.toString(mar[4].平均分));
}
}
}
private class ShowFrame
extends JFrame implements ActionListener {
JButton btn1, btn2;
public ShowFrame() {
this.setSize(400, 200);
this.setLocation(200, 200);
Container con = this.getContentPane();
con.setLayout(new FlowLayout());
JLabel jb = new JLabel("此學號已存在,你想重置嗎?");
jb.setForeground(Color.magenta);
jb.setFont(new java.awt.Font("Dialog", 0, 25));
btn1 = new JButton("確 定");
btn1.setForeground(Color.magenta);
btn1.setFont(new java.awt.Font("Dialog", 0, 15));
btn2 = new JButton("取 消");
btn2.setForeground(Color.magenta);
btn2.setFont(new java.awt.Font("Dialog", 0, 15));
con.add(jb);
con.add(btn1);
con.add(btn2);
btn1.addActionListener(this);
btn2.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btn1) {
bool = true;
this.setVisible(false);
getDate();
updata();
}
else if (e.getSource() == btn2) {
bool = false;
this.setVisible(false);
}
}
}
public void getDate() {
if (!jTextField1.getText().equals("")) {
std.成績5 = Integer.parseInt(jTextField1.getText());
}
if (!jTextField2.getText().equals("")) {
std.成績4 = Integer.parseInt(jTextField2.getText());
}
if (!jTextField3.getText().equals("")) {
std.成績3 = Integer.parseInt(jTextField3.getText());
}
if (!jTextField4.getText().equals("")) {
std.成績2 = Integer.parseInt(jTextField4.getText());
}
if (!jTextField5.getText().equals("")) {
std.成績1 = Integer.parseInt(jTextField5.getText());
}
if (!jTextField6.getText().equals("")) {
std.學號 = Integer.parseInt(jTextField6.getText());
}
if (!jTextField7.getText().equals("")) {
std.姓名 = jTextField7.getText();
}
}
public void insert() {
if (std.學號 != 0) {
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String ur1 = "jdbc:odbc:yangAcess";
Connection conn;
int age = 0;
Statement statement;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection(ur1);
PreparedStatement pstmt = conn.prepareStatement(
"insert into yang1 values(?,?,'',?,?,?,?,?,0,'','','',0,0,0,0,0)");
{
pstmt.setInt(1, std.學號);
pstmt.setString(2, std.姓名);
pstmt.setInt(3, std.成績1);
pstmt.setInt(4, std.成績2);
pstmt.setInt(5, std.成績3);
pstmt.setInt(6, std.成績4);
pstmt.setInt(7, std.成績5);
}
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
public void updata() {
if (std.學號 != 0) {
String str = "jdbc:odbc:yangAcess";
Connection con;
// String str1 =
//"update yang1 set 姓名='"+std.姓名+"',成績1="+std.成績1+",成績2="+std.成績2+",成績3="+std.成績3+
//",成績4="+std.成績4+",成績5="+std.成績5+ "where 學號="+std.學號;
String str1 =
"update yang1 set 姓名='" + std.姓名 + "',成績1=" + std.成績1 + ",成績2=" +
std.成績2 + ",成績3=" + std.成績3 + ",成績4=" + std.成績4 + ",成績5=" + std.成績5 +
" where 學號=" + std.學號;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(str);
Statement update = con.createStatement();
/**********************************************
update.setString(1, std.姓名);
update.setInt(2, std.成績1);
update.setInt(3, std.成績2);
update.setInt(4, std.成績3);
update.setInt(5, std.成績4);
update.setInt(6, std.成績5);
update.setInt(7, std.學號);
******************************************/
update.executeUpdate(str1);
con.close();
update.close();
}
catch (Exception ae) {
System.out.print("lk;ag;oiuje");
}
}
}
public void search(int num) {
String url = "jdbc:odbc:yangAcess";
Connection con;
ResultSet rs;
String str2 = "";
String str1 = "";
switch (num) {
case 1:
mar[0] = new mark();
str1 = "select avg(成績1),max(成績1),min(成績1) from yang1";
str2 = "select count(成績1) from yang1 where 成績1>=" + std.成績1;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
rs = stmt.executeQuery(str1);
while (rs.next()) {
mar[0].平均分 = rs.getDouble(1);
mar[0].最高分 = rs.getInt(2);
mar[0].最低分 = rs.getInt(3);
}
rs = stmt.executeQuery(str2);
while (rs.next()) {
mar[0].名次 = rs.getInt(1);
}
}
catch (Exception e) {}
break
;
case 2:
mar[1] = new mark();
str1 = "select avg(成績2),max(成績2),min(成績2) from yang1";
str2 = "select count(成績2) from yang1 where 成績2>=" + std.成績2;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
rs = stmt.executeQuery(str1);
while (rs.next()) {
mar[1].平均分 = rs.getDouble(1);
mar[1].最高分 = rs.getInt(2);
mar[1].最低分 = rs.getInt(3);
}
rs = stmt.executeQuery(str2);
while (rs.next()) {
mar[1].名次 = rs.getInt(1);
}
}
catch (Exception e) {}
break
;
case 3:
mar[2] = new mark();
str1 = "select avg(成績3),max(成績3),min(成績3) from yang1";
str2 = "select count(成績3) from yang1 where 成績3>=" + std.成績3;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
rs = stmt.executeQuery(str1);
while (rs.next()) {
mar[2].平均分 = rs.getDouble(1);
mar[2].最高分 = rs.getInt(2);
mar[2].最低分 = rs.getInt(3);
}
rs = stmt.executeQuery(str2);
while (rs.next()) {
mar[2].名次 = rs.getInt(1);
}
}
catch (Exception e) {}
break
;
case 4:
mar[3] = new mark();
str1 = "select avg(成績4),max(成績4),min(成績4) from yang1";
str2 = "select count(成績4) from yang1 where 成績4>=" + std.成績4;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
rs = stmt.executeQuery(str1);
while (rs.next()) {
mar[3].平均分 = rs.getDouble(1);
mar[3].最高分 = rs.getInt(2);
mar[3].最低分 = rs.getInt(3);
}
rs = stmt.executeQuery(str2);
while (rs.next()) {
mar[3].名次 = rs.getInt(1);
}
}
catch (Exception e) {}
break
;
case 5:
mar[4] = new mark();
str1 = "select avg(成績5),max(成績5),min(成績5) from yang1";
str2 = "select count(成績5) from yang1 where 成績5>=" + std.成績5;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
rs = stmt.executeQuery(str1);
while (rs.next()) {
mar[4].平均分 = rs.getDouble(1);
mar[4].最高分 = rs.getInt(2);
mar[4].最低分 = rs.getInt(3);
}
rs = stmt.executeQuery(str2);
while (rs.next()) {
mar[4].名次 = rs.getInt(1);
}
}
catch (Exception e) {}
break
;
}
}
private class mark {
public int 名次, 最高分, 最低分;
double 平均分;
public mark() {
名次 = 0;
最高分 = 0;
最低分 = 0;
平均分 = 0;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -