//15030219 马龙
package team.model;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.table.AbstractTableModel;
import team.connection.SqlHelper;
public class StuModel extends AbstractTableModel {
Vector rowData, columnNames;
PreparedStatement ps = null;
Connection ct = null;
ResultSet rs = null;
String url = "jdbc:mysql://127.0.0.1/stu";
String user = "root";
String passwd = "123";
String driver = "com.mysql.jdbc.Driver";
int tmp, count1 = 0, count2 = 0, count3 = 0, count4 = 0, count5 = 0;
double sum1_1 = 0.0, sum1_2 = 0.0, sum1_3 = 0.0, sum2_1 = 0.0,
sum2_2 = 0.0, sum2_3 = 0.0, sum3_1 = 0.0, sum3_2 = 0.0,
sum3_3 = 0.0, sum4_1 = 0.0, sum4_2 = 0.0, sum4_3 = 0.0,
sum5_1 = 0.0, sum5_2 = 0.0, sum5_3 = 0.0;
public boolean addStu(String sql, String paras[]) {
// 根据用户输入的SQL语句完成添加任务
boolean b = true;
// 加载驱动
try {
// 1.加载驱动
Class.forName(driver);
// 2.得到连接
ct = DriverManager.getConnection(url, user, passwd);
// 3.创建ps
if (sql.equals("") || paras.equals("")) {
sql = "select * from student";
ps = ct.prepareStatement(sql);
rs = ps.executeQuery();
columnNames = new Vector();
// 设置列名
columnNames.add("学号");
columnNames.add("姓名");
columnNames.add("性别");
columnNames.add("专业");
columnNames.add("班级");
columnNames.add("C语言");
columnNames.add("C#");
columnNames.add("JAVA");
columnNames.add("总分");
columnNames.add("等级考试报名");
rowData = new Vector();
for (int i = 1; rs.next(); i++) {
Vector hang = new Vector();
hang.add(rs.getString(1));
String num = rs.getString(1);
hang.add(rs.getString(2));
hang.add(rs.getString(3));
hang.add(rs.getString(4));
hang.add(rs.getString(5));
hang.add(rs.getString(6));
hang.add(rs.getString(7));
hang.add(rs.getString(8));
if (rs.getString(5).equals("15计1")) {
count1++;
sum1_1 = (sum1_1 + rs.getDouble(6));
sum1_2 = sum1_2 + rs.getLong(7);
sum1_3 = sum1_3 + rs.getLong(8);
} else if (rs.getString(5).equals("15计2")) {
count2++;
sum2_1 = sum2_1 + rs.getLong(6);
sum2_2 = sum2_2 + rs.getLong(7);
sum2_3 = sum2_3 + rs.getDouble(8);
} else if (rs.getString(5).equals("15软1")) {
count3++;
sum3_1 = sum3_1 + rs.getDouble(6);
sum3_2 = sum3_2 + rs.getDouble(7);
sum3_3 = sum3_3 + rs.getDouble(8);
} else if (rs.getString(5).equals("15软2")) {
count4++;
sum4_1 = sum4_1 + rs.getDouble(6);
sum4_2 = sum4_2 + rs.getDouble(7);
sum4_3 = sum4_3 + rs.getDouble(8);
} else if (rs.getString(5).equals("15经管")) {
count5++;
sum5_1 = sum5_1 + rs.getDouble(6);
sum5_2 = sum5_2 + rs.getDouble(7);
sum5_3 = sum5_3 + rs.getDouble(8);
}
Double sum = (rs.getDouble(6) + rs.getDouble(7) + rs
.getDouble(8));
// 自动跟新总分
SqlHelper sqlhelp = new SqlHelper();
String sql_1 = "update student set sum_score = '" + sum
+ "'where id ='" + num + "'";
sqlhelp.insert(sql_1);
hang.add(sum);
hang.add(rs.getString(10));
// 加入到rowData
rowData.add(hang); // 通过循环将很多的行加入到了rowData中去
}
SqlHelper sqlhelp_2 = new SqlHelper();
System.out.println("ok");
double a1 = (sum1_1 / count1);
double a2 = (sum1_2 / count1);
double a3 = (sum1_3 / count1);
double a4 = (sum2_1 / count2);
double a5 = (sum2_2 / count2);
double a6 = (sum2_3 / count2);
double a7 = (sum3_1 / count3);
double a8 = (sum3_2 / count3);
double a9 = (sum3_3 / count3);
double a10 = (sum4_1 / count4);
double a11 = (sum4_2 / count4);
double a12 = (sum4_3 / count4);
double a13 = (sum5_1 / count5);
double a14 = (sum5_2 / count5);
double a15 = (sum5_3 / count5);
String b1 = "" + a1;
String b2 = "" + a2;
String b3 = "" + a3;
String b4 = "" + a4;
String b5 = "" + a5;
String b6 = "" + a6;
String b7 = "" + a7;
String b8 = "" + a8;
String b9 = "" + a9;
String b10 = "" + a10;
String b11 = "" + a11;
String b12 = "" + a12;
String b13 = "" + a13;
String b14 = "" + a14;
String b15 = "" + a15;
String sql_1 = "update averagegrade set c=? ,c_sharp=?,java=?where class=?";
String paras_1[] = { b1, b2, b3, "15计1" };
String paras_2[] = { b4, b5, b6, "15计2" };
String paras_3[] = { b7, b8, b9, "15软1" };
String paras_4[] = { b10, b11, b12, "15软2" };
String paras_5[] = { b13, b14, b15, "15经管" };
sqlhelp_2.updExecute(sql_1, paras_1);
sqlhelp_2.updExecute(sql_1, paras_2);
sqlhelp_2.updExecute(sql_1, paras_3);
sqlhelp_2.updExecute(sql_1, paras_4);
sqlhelp_2.updExecute(sql_1, paras_5);
} else {
ps = ct.prepareStatement(sql);
// 给ps的?赋值
for (int i = 0; i < paras.length; i++) {
ps.setString(i + 1, paras[i]);
}
// 4.执行操作
tmp = ps.executeUpdate();// 实施
// this.dispose();//关闭框子
if (tmp != 1) {
b = false;
}
}
} catch (Exception e1) {
b = false;
e1.printStackTrace();
} finally {
try {
if (rs != null)
rs.close();
if (ps != null)
ps.close();
if (ct != null)
ct.close();
} catch (SQLException e2) {
e2.printStackTrace();
}
}
return b;
}
// 查询本质就是初始化
public void queryStu(String sql, String paras[]) {
SqlHelper sqlHelper = null;
columnNames = new Vector();
columnNames.add("学号");
columnNames.add("姓名");
columnNames.add("性别");
columnNames.add("专业");
columnNames.add("班级");
columnNames.add("C语言");
columnNames.add("C#");
columnNames.add("JAVA");
columnNames.add("总分");
columnNames.add("等级考试报名");
rowData = new Vector();
try {
sqlHelper = new SqlHelper();
ResultSet rs = sqlHelper.queryExecute(sql, paras);
while (rs.next()) {
Vector hang = new Vector();
hang.add(rs.getString(1));
hang.add(rs.getString(2));
hang.add(rs.getString(3));
hang.add(rs.getString(4));
hang.add(rs.getString(5));
hang.add(rs.getString(6));
hang.add(rs.getString(7));
hang.add(rs.getString(8));
hang.add(rs.getString(9));
hang.add(rs.getString(10));
rowData.add(hang);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlHelper.close();
}
}
public StuModel(String sql, String paras[]) {
addStu(sql, paras);
}
public StuModel(String sql) {
String aa[] = { "a" };
addStu(sql, aa);
}
// 做一个构造函数,用于初始化我们的数据模型
public StuModel() {
String aa[] = { "a" };
String sql = "";
addStu(sql, aa);
}
// 得到共有多少列
public int getColumnCount() {
return this.columnNames.size();
}
// 得到共有多少行
public int getRowCount() {
return this.rowData.size();
}
// 得到共有某行某列的数据
public Object getValueAt(int row, int column) {
return ((Vector) this.rowData.get(row)).get(column);
}
@Override
public String getColumnName(int column) {
return (String) (this.columnNames.get(column));
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本资源为Java学生信息管理系统,实现功能如下: 1、系统的登录和注册 2、系统分为管理员,学生,教师三个身份,管理员和教师有权对学生信息进行增删改查操作,学生只能进行查询操作 3、学生成绩信息的增删改查操作 一个简单的练手项目,初学的你的值得拥有。
资源推荐
资源详情
资源评论






















收起资源包目录



























































共 44 条
- 1

"wink
- 粉丝: 6w+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 船用低速机工程(一期)-气缸油膜厚度检测项目进展情况汇报.pptx
- 工程造价必备常识掌握路堤施工方法.docx
- 美国科特勒集团高级营销精英研修1.ppt
- 房地产销售培训手册.doc
- 操作系统实验报告(1)各种算法C++程序.doc
- 228句最常用英文口语短句文本.doc
- 从安客创投破产谈网站运营对平台的重要性.ppt
- 成都市某建筑公司工程劳务分包合同.doc
- 转盘钻孔机安全操作规程技术交底.doc
- 二次结构劳务大包合同.doc
- 第1章--水轮机安装.doc
- 某医院重度精神残疾人托养中心装修改造工程监理规划.doc
- 施工预算的核定.doc
- 争夺大数据挖掘制高点.docx
- 计算机图形学试卷及参考答案.doc
- 个人总结成本指标控制办法.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

- 1
- 2
- 3
- 4
- 5
- 6
前往页