+ "B";
String colC = tempSubjects+ "C";
/* 此后代码是将各学科各选项的个数统计,并写入表QUESTION_RESULT_STAT */
// 查找QUESTION_RESULT_STAT表中是否存在该班级数据
String tempStatSQL = QUESTION_RESULT_STAT_SQL.getClassName(className, "QUESTION_RESULT_STAT");
ResultSet tempStatResultSet = ConnectPool.getResultSet(tempStatSQL);
// 依据QUESTION_RESULT_STAT表是否存在该班级信息进行不同处理
if (tempStatResultSet.next()) // 已存在,则更新
{
// 构造更新语句
String updateStatSQL = "update QUESTION_RESULT_STAT set "+ colA+ "="+ valueA+ ","+ colB+ "="+ valueB+ ","+ colC+ "="+ valueC+ " where CLASSNAME = " + "'" + className + "'";
// 执行更新语句
ConnectPool.executeUpdate(updateStatSQL);
} else
// 不存在,则插入
{
// 构造插入语句
String insertStatSQL = "insert into QUESTION_RESULT_STAT(CLASSNAME,"+ colA + "," + colB+ "," + colC+ ")" + " values("+ "'" + className + "'" + "," + valueA + "," + valueB + "," + valueC + ")";
ConnectPool.executeUpdate(insertStatSQL);
}
} catch (SQLException e)
{
e.printStackTrace();
}
但每次运行不完就报错:
update QUESTION_RESULT_STAT set LAOJIA=0,LAOJIB=0,LAOJIC=0 where CLASSNAME = '0804'java.sql.SQLException: SQLException occurred in JDBCPool: com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"
params: com.mysql.jdbc.Driver, jdbc:mysql://localhost:3306/questionsurvey. Please check your username, password and other connectivity info.
at com.codestudio.util.JDBCPool.requestConnection(Unknown Source)
at com.codestudio.util.SQLManager.requestConnection(Unknown Source)
at com.codestudio.sql.PoolManDataSource.getConnection(Unknown Source)
at com.yqlyd.database.ConnectPool.getConnection(ConnectPool.java:43)
at com.yqlyd.database.ConnectPool.getResultSet(ConnectPool.java:68)
at com.yqlyd.database.ExecuteSQL.questionSurveyCount(ExecuteSQL.java:373)
at com.yqlyd.database.ExecuteSQL.main(ExecuteSQL.java:526)
调整了JVM和tomcat启动的参数(增加内存),效果好一点,但仍不能解决?