From 8d3f3bdc658703d1da806951bd58e93a061c4d1a Mon Sep 17 00:00:00 2001 From: zhangsheng Date: Thu, 21 Nov 2024 11:06:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=88=9B=E5=BB=BA=E7=89=B9?= =?UTF-8?q?=E5=BE=81=E5=80=BC=E8=A1=A8=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- uart/uart.cpp | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/uart/uart.cpp b/uart/uart.cpp index 99e4553..b23c2dd 100644 --- a/uart/uart.cpp +++ b/uart/uart.cpp @@ -635,6 +635,23 @@ void Uart::DealDataNodeName(const char *pData) { sqlite_db_ctrl::instance().UpdateTableData(T_SENSOR_INFO(TNAME), uplCon, whereCon); std::string strData = sqlite_db_ctrl::instance().GetNodeConfigureInfor(whereCon); data_publish(strData.c_str(), GlobalConfig::Topic_G.mPubConfig.c_str()); + + char szTableName[50] = {0x00}; + char sql_table_exist[50] = {0}; + sprintf(szTableName, "t_data_%s", MeasurementID); + sprintf(sql_table_exist,"select count(*) from sqlite_master where type='table' and name = '%s';",szTableName); + int ret = sqlite_db_ctrl::instance().ExeSql(sql_table_exist); + if (ret == 0){ + sqlite_db_ctrl::instance().Createtable(szTableName); + } + memset(sql_table_exist, 0x00, sizeof(sql_table_exist)); + memset(szTableName, 0x00, sizeof(szTableName)); + sprintf(szTableName, "t_dataStatic_%s", MeasurementID); + sprintf(sql_table_exist,"select count(*) from sqlite_master where type='table' and name = '%s';",szTableName); + ret = sqlite_db_ctrl::instance().ExeSql(sql_table_exist); + if (ret == 0){ + sqlite_db_ctrl::instance().CreatedataStatictable(szTableName); + } } void Uart::DealDataNodeInfo(const char *pData) { @@ -884,12 +901,7 @@ void Uart::DealDataNodeInfo(const char *pData) { zlog_error(zct, "res = %d", res); } } - char szTableName[50] = {0x00}; - sprintf(szTableName, "t_data_%s", dataNodeInfo.ZigbeeLongAddr.c_str()); - sqlite_db_ctrl::instance().Createtable(szTableName); - memset(szTableName, 0x00, sizeof(szTableName)); - sprintf(szTableName, "t_dataStatic_%s", dataNodeInfo.ZigbeeLongAddr.c_str()); - sqlite_db_ctrl::instance().CreatedataStatictable(szTableName); + Json::Value jsonVal; jsonVal.clear(); jsonVal["cmd"] = "26";