From b2c9074a1d2eace6ae010f60f3db0977ca9055f5 Mon Sep 17 00:00:00 2001 From: DELL <1525436766@qq.com> Date: 星期一, 09 九月 2024 14:08:05 +0800 Subject: [PATCH] V2.04 edit at date 2024-09-09 1.修复表 'db_battinf.tb_stattion_inf'表中字段'together_flag'默认初始插入全为0=>将为0的字段修改为当前最大值 --- BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java | 64 ++++++++++++++++++++++++++++++++ 1 files changed, 64 insertions(+), 0 deletions(-) diff --git a/BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java b/BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java index 0b514db..dda3f38 100644 --- a/BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java +++ b/BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java @@ -692,12 +692,76 @@ //录入已存在的电源机房信息 initPowerStationInfoData(pool); + //修复机房总表中的 together_flag 全是0 的记录改为 (最大值+1) + repaireStationTotetherFlag(pool); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } + + /** + * 修复`db_battinf`.`tb_station_inf`表中together_flag 为0的数据 + * @param pool + */ + private static void repaireStationTotetherFlag(MysqlConnPool pool) { + String sql_str = " SELECT num,together_flag,stationId FROM " + Sql_Mysql.Station_Inf_Table + " WHERE together_flag = 0"; + ResultSet res = null; + Sql_Mysql sql = new Sql_Mysql(pool.getConn()); + try { + int max_together_flag = quereyMaxTogetherFlagStationInf(pool); + res = sql.sqlMysqlQuery(sql_str); + while(res.next()) { + int num = res.getInt("num"); + max_together_flag ++; + sql.sqlMysqlExecute(" UPDATE " + Sql_Mysql.Station_Inf_Table + " SET together_flag = " + (max_together_flag) + " WHERE num = " + num); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + if(null != res) { + try { + res.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + sql.close_con(); + } + } + + /** + * 查询'db_battinf.tb_station_inf'表中最大的together_flag + * @param pool + * @return + */ + private static int quereyMaxTogetherFlagStationInf(MysqlConnPool pool) { + int max_togethreflag = 0; + String sql_str = " SELECT max(together_flag) as max_together_flag FROM " + Sql_Mysql.Station_Inf_Table; + ResultSet res = null; + Sql_Mysql sql = new Sql_Mysql(pool.getConn()); + try { + res = sql.sqlMysqlQuery(sql_str); + if(res.next()) { + max_togethreflag = res.getInt("max_together_flag"); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + if(null != res) { + try { + res.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + sql.close_con(); + } + return max_togethreflag; + } + + /** * 创建 `db_battinf`.`tb_battinf_update_record` 表 * @param pool -- Gitblit v1.9.1