sql을 사용해서, 데이타베이스에 접속하는 프로그램인데


sqlite3_prepare_v2(pDataBase, sql, -1, &statement, NULL)


을 통해서, sql Text prepared statement 변환한다


No such Table..  이라는 에러가 발생




리턴값이 SQLITE_OK 인지 비교를 하는데,


리턴값을 찍어봤더니,   "1" 값이 나온다.


SQLITE_ERROR[1]


뭐가 문제일까?




    //검색SQL

    const char *sql = "SELECT SEQ, RecordingTM, RecordFileNM FROM RecordTB ORDER BY SEQ";

    

    

    NSLog(@"'%d'", sqlite3_prepare_v2(pDataBase, sql, -1, &statement, NULL) );

    

    //sql Text prepared statement 변환한다

    if(sqlite3_prepare_v2(pDataBase, sql, -1, &statement, NULL) != SQLITE_OK){

        

        NSLog(@"Error Message2 : '%s'", sqlite3_errmsg(pDataBase));

        sqlite3_close(pDataBase);   //데이터베이스를 닫습니다.

        pDataBase = nil;

        return;

    }




iPhone Simulator 에서는 DB를 처음 컴파일 시 
아이폰시뮬레이터 내에 유저 document에 저장이 된다
그러므로 DB갱신이 있을 경우, 
아이폰 시뮬레이터에서 해당 App을 지우고,
빌드를 다시 하는 방법을 통해서 실행해야 한다
그럼 더이상의 no such table이라는 메시지를 보지 않을 수 있다



이것이 인터넷 여러곳을 통한 검색으로,

찾아낸 에러를 해결할 수 있는 방법이었는데,

내 경우에는 해결되지 않았다.

그런데 생각지도 못한 곳에서 방법을 찾아냈다

다른 프로그램을 보던 결과, DB파일의 위치가 잘못되어 있다는 것을 알아냈다

내가 가진 DB파일이 위치한 곳이 다른 프로그램들과 달랐고,

그것의 위치를 옮겨줌으로써 해당 오류를 해결할 수 있었다


Posted by 스타켄지니어
,