📄 mydb.cpp
字号:
UINT myDb::SavePowerOff(unsigned char *rec)
{
UCHAR szid[5];
TIMESTAMP_STRUCT szOffTime,szOnTime;
SYSTEMTIME loctime;
strcpy((char *)SqlOrder,"INSERT INTO poweroff_record VALUES (?,?,?)");
SQLFreeStmt(hstmt,SQL_RESET_PARAMS);
rc = SQLPrepare(hstmt,SqlOrder,SQL_NTS);
if (rc!=SQL_SUCCESS && rc!=SQL_SUCCESS_WITH_INFO)
{
SQLFreeStmt(hstmt,SQL_CLOSE);
return FALSE;
}
SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,5,0,szid,0,NULL);
SQLBindParameter(hstmt,2,SQL_PARAM_INPUT,SQL_C_TYPE_TIMESTAMP,
SQL_TYPE_TIMESTAMP,0,0,&szOffTime,sizeof(szOffTime),NULL);
SQLBindParameter(hstmt,3,SQL_PARAM_INPUT,SQL_C_TYPE_TIMESTAMP,
SQL_TYPE_TIMESTAMP,0,0,&szOnTime,sizeof(szOnTime),NULL);
szid[0] = ((rec[1]>>4)&0x0f) + '0';
szid[1] = ((rec[1])&0x0f) + '0';
szid[2] = ((rec[2]>>4)&0x0f) + '0';
szid[3] = ((rec[2])&0x0f) + '0';
szid[4] = 0;
GetLocalTime(&loctime);
szOffTime.year = loctime.wYear;
szOffTime.month = ((rec[6]>>4)&0x0f)*10 + (rec[6]&0x0f);
szOffTime.day = ((rec[7]>>4)&0x0f)*10 + (rec[7]&0x0f);
szOffTime.hour = ((rec[8]>>4)&0x0f)*10 + (rec[8]&0x0f);
szOffTime.minute = ((rec[9]>>4)&0x0f)*10 + (rec[9]&0x0f);
szOffTime.second = 0;
szOffTime.fraction = 0;
szOnTime.year = loctime.wYear;
szOnTime.month = ((rec[10]>>4)&0x0f)*10 + (rec[10]&0x0f);
szOnTime.day = ((rec[11]>>4)&0x0f)*10 + (rec[11]&0x0f);
szOnTime.hour = ((rec[12]>>4)&0x0f)*10 + (rec[12]&0x0f);
szOnTime.minute = ((rec[13]>>4)&0x0f)*10 + (rec[13]&0x0f);
szOnTime.second = 0;
szOnTime.fraction = 0;
rc=SQLExecute(hstmt);
if (rc!=SQL_SUCCESS && rc!=SQL_SUCCESS_WITH_INFO)
{
SQLFreeStmt(hstmt,SQL_CLOSE);
return FALSE;
}
SQLFreeStmt(hstmt,SQL_CLOSE);
rc = SQLTransact(henv,hdbc,SQL_COMMIT);
if (rc!=SQL_SUCCESS && rc!=SQL_SUCCESS_WITH_INFO)
{
SQLFreeStmt(hstmt,SQL_CLOSE);
return FALSE;
}
return true;
}
UINT myDb::SaveDayData(unsigned char *rec)
{
UCHAR szid[5];
UINT szRunTime,szOverTime,szLowTime;
float szMaxVot,szMinVot;
DATE_STRUCT szTJdate;
TIMESTAMP_STRUCT szMAXVdate,szMINVdate;
strcpy((char *)SqlOrder,"INSERT INTO Day_Statistics (Meter_number,TJDate,Runtime,\
Over_upperlimit_time,Down_lowerlimit_time,Max_voltage,Max_voltage_date_time,Min_voltage,\
Min_voltage_date_time) VALUES (?,?,?,?,?,?,?,?,?)");
SQLFreeStmt(hstmt,SQL_RESET_PARAMS);
rc = SQLPrepare(hstmt,SqlOrder,SQL_NTS);
if (rc!=SQL_SUCCESS && rc!=SQL_SUCCESS_WITH_INFO)
{
SQLFreeStmt(hstmt,SQL_CLOSE);
return FALSE;
}
SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,5,0,szid,0,NULL);
SQLBindParameter(hstmt,2,SQL_PARAM_INPUT,SQL_C_TYPE_DATE,
SQL_TYPE_DATE,0,0,&szTJdate,sizeof(szTJdate),NULL);
SQLBindParameter(hstmt,3,SQL_PARAM_INPUT,SQL_C_ULONG,
SQL_INTEGER,0,0,&szRunTime,0,NULL);
SQLBindParameter(hstmt,4,SQL_PARAM_INPUT,SQL_C_ULONG,
SQL_INTEGER,0,0,&szOverTime,0,NULL);
SQLBindParameter(hstmt,5,SQL_PARAM_INPUT,SQL_C_ULONG,
SQL_INTEGER,0,0,&szLowTime,0,NULL);
SQLBindParameter(hstmt,6,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szMaxVot,sizeof(szMaxVot),NULL);
SQLBindParameter(hstmt,7,SQL_PARAM_INPUT,SQL_C_TYPE_TIMESTAMP,
SQL_TYPE_TIMESTAMP,0,0,&szMAXVdate,sizeof(szMAXVdate),NULL);
SQLBindParameter(hstmt,8,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szMinVot,sizeof(szMaxVot),NULL);
SQLBindParameter(hstmt,9,SQL_PARAM_INPUT,SQL_C_TYPE_TIMESTAMP,
SQL_TYPE_TIMESTAMP,0,0,&szMINVdate,sizeof(szMINVdate),NULL);
//SQL_NUMERIC SQL_FLOAT SQL_DECIMAL
szid[0] = ((rec[1]>>4)&0x0f) + '0';
szid[1] = ((rec[1])&0x0f) + '0';
szid[2] = ((rec[2]>>4)&0x0f) + '0';
szid[3] = ((rec[2])&0x0f) + '0';
szid[4] = 0;
szTJdate.year = ((rec[7]>>4)&0x0f)*10 + (rec[7]&0x0f);
if (szTJdate.year>50) szTJdate.year+=1900;
else szTJdate.year+=2000;
szTJdate.month = ((rec[8]>>4)&0x0f)*10 + (rec[8]&0x0f);
szTJdate.day = ((rec[9]>>4)&0x0f)*10 + (rec[9]&0x0f);
szRunTime = (rec[10]<<8) + rec[11];
szOverTime = (rec[12]<<8) + rec[13];
szLowTime = (rec[14]<<8) + rec[15];
szMaxVot = ((rec[16]>>4)&0x0f)*100 + (rec[16]&0x0f)*10 + ((rec[17]>>4)&0x0f) + (float)(rec[17]&0x0f)/10;
szMAXVdate.year = szTJdate.year;
szMAXVdate.month = ((rec[18]>>4)&0x0f)*10 + (rec[18]&0x0f);
szMAXVdate.day = ((rec[19]>>4)&0x0f)*10 + (rec[19]&0x0f);
szMAXVdate.hour = ((rec[20]>>4)&0x0f)*10 + (rec[20]&0x0f);
szMAXVdate.minute = ((rec[21]>>4)&0x0f)*10 + (rec[21]&0x0f);
szMAXVdate.second = 0;
szMAXVdate.fraction = 0;
szMinVot = ((rec[22]>>4)&0x0f)*100 + (rec[22]&0x0f)*10 + ((rec[23]>>4)&0x0f) + (float)(rec[23]&0x0f)/10;
szMINVdate.year = szTJdate.year;
szMINVdate.month = ((rec[24]>>4)&0x0f)*10 + (rec[24]&0x0f);
szMINVdate.day = ((rec[25]>>4)&0x0f)*10 + (rec[25]&0x0f);
szMINVdate.hour = ((rec[26]>>4)&0x0f)*10 + (rec[26]&0x0f);
szMINVdate.minute = ((rec[27]>>4)&0x0f)*10 + (rec[27]&0x0f);
szMINVdate.second = 0;
szMINVdate.fraction = 0;
rc=SQLExecute(hstmt);
if (rc!=SQL_SUCCESS && rc!=SQL_SUCCESS_WITH_INFO)
{
SQLFreeStmt(hstmt,SQL_CLOSE);
return FALSE;
}
SQLFreeStmt(hstmt,SQL_CLOSE);
rc = SQLTransact(henv,hdbc,SQL_COMMIT);
if (rc!=SQL_SUCCESS && rc!=SQL_SUCCESS_WITH_INFO)
{
SQLFreeStmt(hstmt,SQL_CLOSE);
return FALSE;
}
return true;
}
UINT myDb::SaveMonthData(unsigned char *rec)
{
UCHAR szid[5];
UINT szRunTime,szOverTime,szLowTime;
float szMaxVot,szMinVot;
DATE_STRUCT szTJdate;
TIMESTAMP_STRUCT szMAXVdate,szMINVdate;
strcpy((char *)SqlOrder,"INSERT INTO Month_Statistics (Meter_number,YearMonth,Runtime,\
Over_upperlimit_time,Down_lowerlimit_time,Max_voltage,Max_voltage_date_time,Min_voltage,\
Min_voltage_date_time) VALUES (?,?,?,?,?,?,?,?,?)");
SQLFreeStmt(hstmt,SQL_RESET_PARAMS);
rc = SQLPrepare(hstmt,SqlOrder,SQL_NTS);
if (rc!=SQL_SUCCESS && rc!=SQL_SUCCESS_WITH_INFO)
{
SQLFreeStmt(hstmt,SQL_CLOSE);
return FALSE;
}
SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,5,0,szid,0,NULL);
SQLBindParameter(hstmt,2,SQL_PARAM_INPUT,SQL_C_TYPE_DATE,
SQL_TYPE_DATE,0,0,&szTJdate,sizeof(szTJdate),NULL);
SQLBindParameter(hstmt,3,SQL_PARAM_INPUT,SQL_C_ULONG,
SQL_INTEGER,0,0,&szRunTime,0,NULL);
SQLBindParameter(hstmt,4,SQL_PARAM_INPUT,SQL_C_ULONG,
SQL_INTEGER,0,0,&szOverTime,0,NULL);
SQLBindParameter(hstmt,5,SQL_PARAM_INPUT,SQL_C_ULONG,
SQL_INTEGER,0,0,&szLowTime,0,NULL);
SQLBindParameter(hstmt,6,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szMaxVot,sizeof(szMaxVot),NULL);
SQLBindParameter(hstmt,7,SQL_PARAM_INPUT,SQL_C_TYPE_TIMESTAMP,
SQL_TYPE_TIMESTAMP,0,0,&szMAXVdate,sizeof(szMAXVdate),NULL);
SQLBindParameter(hstmt,8,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szMinVot,sizeof(szMinVot),NULL);
SQLBindParameter(hstmt,9,SQL_PARAM_INPUT,SQL_C_TYPE_TIMESTAMP,
SQL_TYPE_TIMESTAMP,0,0,&szMINVdate,sizeof(szMINVdate),NULL);
szid[0] = ((rec[1]>>4)&0x0f) + '0';
szid[1] = ((rec[1])&0x0f) + '0';
szid[2] = ((rec[2]>>4)&0x0f) + '0';
szid[3] = ((rec[2])&0x0f) + '0';
szid[4] = 0;
szTJdate.year = ((rec[7]>>4)&0x0f)*10 + (rec[7]&0x0f);
if (szTJdate.year>50) szTJdate.year+=1900;
else szTJdate.year+=2000;
szTJdate.month = ((rec[8]>>4)&0x0f)*10 + (rec[8]&0x0f);
szTJdate.day = ((rec[9]>>4)&0x0f)*10 + (rec[9]&0x0f);
szRunTime = (rec[10]<<8) + rec[11];
szOverTime = (rec[12]<<8) + rec[13];
szLowTime = (rec[14]<<8) + rec[15];
szMaxVot = ((rec[16]>>4)&0x0f)*100 + (rec[16]&0x0f)*10 + ((rec[17]>>4)&0x0f) + (float)(rec[17]&0x0f)/10;
szMAXVdate.year = szTJdate.year;
szMAXVdate.month = ((rec[18]>>4)&0x0f)*10 + (rec[18]&0x0f);
szMAXVdate.day = ((rec[19]>>4)&0x0f)*10 + (rec[19]&0x0f);
szMAXVdate.hour = ((rec[20]>>4)&0x0f)*10 + (rec[20]&0x0f);
szMAXVdate.minute = ((rec[21]>>4)&0x0f)*10 + (rec[21]&0x0f);
szMAXVdate.second = 0;
szMAXVdate.fraction = 0;
szMinVot = ((rec[22]>>4)&0x0f)*100 + (rec[22]&0x0f)*10 + ((rec[23]>>4)&0x0f) + (float)(rec[23]&0x0f)/10;
szMINVdate.year = szTJdate.year;
szMINVdate.month = ((rec[24]>>4)&0x0f)*10 + (rec[24]&0x0f);
szMINVdate.day = ((rec[25]>>4)&0x0f)*10 + (rec[25]&0x0f);
szMINVdate.hour = ((rec[26]>>4)&0x0f)*10 + (rec[26]&0x0f);
szMINVdate.minute = ((rec[27]>>4)&0x0f)*10 + (rec[27]&0x0f);
szMINVdate.second = 0;
szMINVdate.fraction = 0;
rc=SQLExecute(hstmt);
if (rc!=SQL_SUCCESS && rc!=SQL_SUCCESS_WITH_INFO)
{
SQLFreeStmt(hstmt,SQL_CLOSE);
return FALSE;
}
SQLFreeStmt(hstmt,SQL_CLOSE);
rc = SQLTransact(henv,hdbc,SQL_COMMIT);
if (rc!=SQL_SUCCESS && rc!=SQL_SUCCESS_WITH_INFO)
{
SQLFreeStmt(hstmt,SQL_CLOSE);
return FALSE;
}
return true;
}
UINT myDb::SaveTypeData(unsigned char *rec)
{
UCHAR szid[5];
DATE_STRUCT szTypeDate;
float szVot0,szVot1,szVot2,szVot3,szVot4,szVot5,szVot6,szVot7,szVot8,szVot9;
float szVot10,szVot11,szVot12,szVot13,szVot14,szVot15,szVot16,szVot17,szVot18,szVot19;
float szVot20,szVot21,szVot22,szVot23;
strcpy((char *)SqlOrder,"INSERT INTO Typical_Day_Voltage VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
SQLFreeStmt(hstmt,SQL_RESET_PARAMS);
rc = SQLPrepare(hstmt,SqlOrder,SQL_NTS);
if (rc!=SQL_SUCCESS && rc!=SQL_SUCCESS_WITH_INFO)
{
SQLFreeStmt(hstmt,SQL_CLOSE);
return FALSE;
}
SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,5,0,szid,0,NULL);
SQLBindParameter(hstmt,2,SQL_PARAM_INPUT,SQL_C_TYPE_DATE,
SQL_TYPE_DATE,0,0,&szTypeDate,sizeof(szTypeDate),NULL);
SQLBindParameter(hstmt,3,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot0,0,NULL);
SQLBindParameter(hstmt,4,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot1,0,NULL);
SQLBindParameter(hstmt,5,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot2,0,NULL);
SQLBindParameter(hstmt,6,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot3,0,NULL);
SQLBindParameter(hstmt,7,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot4,0,NULL);
SQLBindParameter(hstmt,8,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot5,0,NULL);
SQLBindParameter(hstmt,9,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot6,0,NULL);
SQLBindParameter(hstmt,10,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot7,0,NULL);
SQLBindParameter(hstmt,11,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot8,0,NULL);
SQLBindParameter(hstmt,12,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot9,0,NULL);
SQLBindParameter(hstmt,13,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot10,0,NULL);
SQLBindParameter(hstmt,14,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot11,0,NULL);
SQLBindParameter(hstmt,15,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot12,0,NULL);
SQLBindParameter(hstmt,16,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot13,0,NULL);
SQLBindParameter(hstmt,17,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot14,0,NULL);
SQLBindParameter(hstmt,18,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot15,0,NULL);
SQLBindParameter(hstmt,19,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot16,0,NULL);
SQLBindParameter(hstmt,20,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot17,0,NULL);
SQLBindParameter(hstmt,21,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot18,0,NULL);
SQLBindParameter(hstmt,22,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot19,0,NULL);
SQLBindParameter(hstmt,23,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot20,0,NULL);
SQLBindParameter(hstmt,24,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot21,0,NULL);
SQLBindParameter(hstmt,25,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot22,0,NULL);
SQLBindParameter(hstmt,26,SQL_PARAM_INPUT,SQL_C_FLOAT,
SQL_REAL,0,0,&szVot23,0,NULL);
szid[0] = ((rec[1]>>4)&0x0f) + '0';
szid[1] = ((rec[1])&0x0f) + '0';
szid[2] = ((rec[2]>>4)&0x0f) + '0';
szid[3] = ((rec[2])&0x0f) + '0';
szid[4] = 0;
szTypeDate.year = ((rec[7]>>4)&0x0f)*10 + rec[7]&0x0f;
if (szTypeDate.year>50) szTypeDate.year+=1900;
else szTypeDate.year+=2000;
szTypeDate.month = ((rec[8]>>4)&0x0f)*10 + rec[8]&0x0f;
szTypeDate.day = ((rec[9]>>4)&0x0f)*10 + rec[9]&0x0f;
szVot0 = ((rec[10]>>4)&0x0f)*100 + (rec[10]&0x0f)*10 + ((rec[11]>>4)&0x0f) + (float)(rec[11]&0x0f)/10;
szVot1 = ((rec[12]>>4)&0x0f)*100 + (rec[12]&0x0f)*10 + ((rec[13]>>4)&0x0f) + (float)(rec[13]&0x0f)/10;
szVot2 = ((rec[14]>>4)&0x0f)*100 + (rec[14]&0x0f)*10 + ((rec[15]>>4)&0x0f) + (float)(rec[15]&0x0f)/10;
szVot3 = ((rec[16]>>4)&0x0f)*100 + (rec[16]&0x0f)*10 + ((rec[17]>>4)&0x0f) + (float)(rec[17]&0x0f)/10;
szVot4 = ((rec[18]>>4)&0x0f)*100 + (rec[18]&0x0f)*10 + ((rec[19]>>4)&0x0f) + (float)(rec[19]&0x0f)/10;
szVot5 = ((rec[20]>>4)&0x0f)*100 + (rec[20]&0x0f)*10 + ((rec[21]>>4)&0x0f) + (float)(rec[21]&0x0f)/10;
szVot6 = ((rec[22]>>4)&0x0f)*100 + (rec[22]&0x0f)*10 + ((rec[23]>>4)&0x0f) + (float)(rec[23]&0x0f)/10;
szVot7 = ((rec[24]>>4)&0x0f)*100 + (rec[24]&0x0f)*10 + ((rec[25]>>4)&0x0f) + (float)(rec[25]&0x0f)/10;
szVot8 = ((rec[26]>>4)&0x0f)*100 + (rec[26]&0x0f)*10 + ((rec[27]>>4)&0x0f) + (float)(rec[27]&0x0f)/10;
szVot9 = ((rec[28]>>4)&0x0f)*100 + (rec[28]&0x0f)*10 + ((rec[29]>>4)&0x0f) + (float)(rec[29]&0x0f)/10;
szVot10 = ((rec[30]>>4)&0x0f)*100 + (rec[30]&0x0f)*10 + ((rec[31]>>4)&0x0f) + (float)(rec[31]&0x0f)/10;
szVot11 = ((rec[32]>>4)&0x0f)*100 + (rec[32]&0x0f)*10 + ((rec[33]>>4)&0x0f) + (float)(rec[33]&0x0f)/10;
szVot12 = ((rec[34]>>4)&0x0f)*100 + (rec[34]&0x0f)*10 + ((rec[35]>>4)&0x0f) + (float)(rec[35]&0x0f)/10;
szVot13 = ((rec[36]>>4)&0x0f)*100 + (rec[36]&0x0f)*10 + ((rec[37]>>4)&0x0f) + (float)(rec[37]&0x0f)/10;
szVot14 = ((rec[38]>>4)&0x0f)*100 + (rec[38]&0x0f)*10 + ((rec[39]>>4)&0x0f) + (float)(rec[39]&0x0f)/10;
szVot15 = ((rec[40]>>4)&0x0f)*100 + (rec[40]&0x0f)*10 + ((rec[41]>>4)&0x0f) + (float)(rec[41]&0x0f)/10;
szVot16 = ((rec[42]>>4)&0x0f)*100 + (rec[42]&0x0f)*10 + ((rec[43]>>4)&0x0f) + (float)(rec[43]&0x0f)/10;
szVot17 = ((rec[44]>>4)&0x0f)*100 + (rec[44]&0x0f)*10 + ((rec[45]>>4)&0x0f) + (float)(rec[45]&0x0f)/10;
szVot18 = ((rec[46]>>4)&0x0f)*100 + (rec[46]&0x0f)*10 + ((rec[47]>>4)&0x0f) + (float)(rec[47]&0x0f)/10;
szVot19 = ((rec[48]>>4)&0x0f)*100 + (rec[48]&0x0f)*10 + ((rec[49]>>4)&0x0f) + (float)(rec[49]&0x0f)/10;
szVot20 = ((rec[50]>>4)&0x0f)*100 + (rec[50]&0x0f)*10 + ((rec[51]>>4)&0x0f) + (float)(rec[51]&0x0f)/10;
szVot21 = ((rec[52]>>4)&0x0f)*100 + (rec[52]&0x0f)*10 + ((rec[53]>>4)&0x0f) + (float)(rec[53]&0x0f)/10;
szVot22 = ((rec[54]>>4)&0x0f)*100 + (rec[54]&0x0f)*10 + ((rec[55]>>4)&0x0f) + (float)(rec[55]&0x0f)/10;
szVot23 = ((rec[56]>>4)&0x0f)*100 + (rec[56]&0x0f)*10 + ((rec[57]>>4)&0x0f) + (float)(rec[57]&0x0f)/10;
rc=SQLExecute(hstmt);
if (rc!=SQL_SUCCESS && rc!=SQL_SUCCESS_WITH_INFO)
{
SQLFreeStmt(hstmt,SQL_CLOSE);
return FALSE;
}
SQLFreeStmt(hstmt,SQL_CLOSE);
rc = SQLTransact(henv,hdbc,SQL_COMMIT);
if (rc!=SQL_SUCCESS && rc!=SQL_SUCCESS_WITH_INFO)
{
SQLFreeStmt(hstmt,SQL_CLOSE);
return FALSE;
}
return true;
}
UINT myDb::SaveCurrentVoltage(unsigned char *rec)
{
UCHAR szid[5];
TIMESTAMP_STRUCT szCommTime;
float szVot;
SYSTEMTIME loctime;
strcpy((char *)SqlOrder,"INSERT INTO Current_Voltage VALUES (?,?,?)");
SQLFreeStmt(hstmt,SQL_RESET_PARAMS);
rc = SQLPrepare(hstmt,SqlOrder,SQL_NTS);
if (rc!=SQL_SUCCESS && rc!=SQL_SUCCESS_WITH_INFO)
{
SQLFreeStmt(hstmt,SQL_CLOSE);
return FALSE;
}
SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,5,0,szid,0,NULL);
SQLBindParameter(hstmt,2,SQL_PARAM_INPUT,SQL_C_TYPE_TIMESTAMP,
SQL_TYPE_TIMESTAMP,0,0,&szCommTime,sizeof(szCommTime),NULL);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -