xiyangchenxue 2016-01-05 02:33 采纳率: 0%
浏览 2065
已结题

c语言数读取据库用sqlite3_prepare

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 ***

  • 写回答

2条回答 默认 最新

  • 思想在飞肢体在追 2016-01-05 08:48
    关注

    是不是有的字段名写的不对,或是大小写问题

    评论

报告相同问题?

悬赏问题

  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型