int g_XLZTA_Array[255][9] ;
/************************************************
返回:无
************************************************/
int getPD_Key_StateByState(int State)
{
char sql[128] = { 0 };
const char *errmsg = NULL;
sqlite3_stmt *pstmt;
int ret = -1;
int i = 0;
sprintf(sql,
"select State,Key_ID,Long_Red,Long_Green,Long_Yellow,Red,Green,Yellow ,Con_State form XLZT_A where State= %d",
State);
ret = sqlite3_prepare(pd_db, sql, strlen(sql), &pstmt, &errmsg);
if (ret != SQLITE_OK)
{
printf("data base error : %s\n", errmsg);
sqlite3_free((void *) errmsg);
return 0;
}
for (i = 0; i < 17; i++)
{
ret = sqlite3_step(pstmt);
if (ret != SQLITE_ROW)
{
return 0;
}
g_XLZTA_Array[i][0] = sqlite3_column_int(pstmt, 0);
g_XLZTA_Array[i][1] = sqlite3_column_int(pstmt, 1);
g_XLZTA_Array[i][2] = sqlite3_column_int(pstmt, 2);
g_XLZTA_Array[i][3] = sqlite3_column_int(pstmt, 3);
g_XLZTA_Array[i][4] = sqlite3_column_int(pstmt, 4);
g_XLZTA_Array[i][5] = sqlite3_column_int(pstmt, 5);
g_XLZTA_Array[i][6] = sqlite3_column_int(pstmt, 6);
g_XLZTA_Array[i][7] = sqlite3_column_int(pstmt, 7);
g_XLZTA_Array[i][8] = sqlite3_column_int(pstmt, 8);
LOG(LV_DEBUG,
"State = %d,Key_ID = %d, Long_Red = %d,Log_Green = %d,Long_Yellow = %d,Red = %d,Green = %d,Yellow = %d,Con_State = %d",
g_XLZTA_Array[i][0], g_XLZTA_Array[i][1], g_XLZTA_Array[i][2],
g_XLZTA_Array[i][3], g_XLZTA_Array[i][4], g_XLZTA_Array[i][5],
g_XLZTA_Array[i][6], g_XLZTA_Array[i][7], g_XLZTA_Array[i][8]);
}
return 1;
}
void init_data_base(void)
{
int db_ret = -1;
db_ret = sqlite3_open(PD_DATA_BASE_FILE_PATH, &pd_db);
if (db_ret != SQLITE_OK)
{
LOG(LV_FATAL,"init_data_base sqlite3_open pd_db error");
}
db_ret = sqlite3_open(PDT_DATA_BASE_FILE_PATH, &pdt_db);
if (db_ret != SQLITE_OK)
{
LOG(LV_FATAL,"init_data_base sqlite3_open pdt_db error");
}
getCurrentPdSignalTableName(XLB_Name);
//getCurrentPdSignalTableName(XLZT_Name); //信令状态
}
错误:
data base error : select State,Key_ID,Long_Red,Long_Green,Long_Yellow,Red,Green,Yellow ,Con_State form XLZT_A where State= 2
*** glibc detected *** ./PD_task: munmap_chunk(): invalid pointer: 0xb6d5c8f0 ***
是不是有的字段名写的不对,或是大小写问题
首先你有没有打开数据库的连接,其次你直接运行select State,Key_ID,Long_Red,Long_Green,Long_Yellow,Red,Green,Yellow ,Con_State form XLZT_A where State= 2 是否会报错?