回覆列表
  • 1 # 匠工加工

    segmentation fault 即 段錯誤

    一般都是非法記憶體操作,例如陣列越界,指標亂指什麼的。。。

    我猜可能是strcat(temp, number);這句有問題。

    strcat是連線字串吧,第二個引數是字串頭地址,number估計是整型吧,用在這裡肯定非法操作了。

    用sprintf吧

    sprintf(temp, "SELECT * FROM student WHERE NUMBER= "%d";", number);

    那就設斷點除錯,看temp具體是否正確,把sqlite3_get_table的返回值賦值,看是否查詢成功。

    不設斷點那就插入printf隨便輸出點資訊看看到底到那裡出錯了

    printf("sql: %s",temp);

    result = sqlite3_get_table( db , temp , &azResult , &nrow , &ncolumn , &zErrMsg );

    if(SQLITE_OK == result)

    {

    for( i=0 ; i<( nrow + 1 ) * ncolumn ; i++ )

    printf( "azResult[%d] = %s\n", i , azResult[i] );

    }

    else

    {

    printf("查詢失敗\n");

    //.......

    }

  • 中秋節和大豐收的關聯?
  • 名字是彥熙是什麼意思?