2013-01-25 5 views
0

.sqlite 파일을 프로젝트 폴더에 저장할 때 성공적으로 사용했습니다. 이제는 파일을 로컬에 저장하는 대신 온라인에서 가져 오는 것 외에는 동일한 작업을 수행하려고합니다. 이 코드를 기반으로 한 제안 사항은 무엇입니까? 코드 맨 아래에서 준비 문과 관련된 오류 메시지가 나타납니다.iOS에서 sqlite 파일 다운로드 및 사용

NSData *fetchedData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://www.dropbox.com/s/zpcieluo2qv43vy/builds.sqlite?dl=1"]]; 
    NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; 
    NSString *filePath = [documentsPath stringByAppendingPathComponent:@"builds.sqlite"]; 
    [fetchedData writeToFile:filePath atomically:YES]; 

    NSFileManager *fileMgr = [NSFileManager defaultManager]; 

    BOOL success = [fileMgr fileExistsAtPath:filePath]; 
    if (!success) { 
     NSLog(@"Cannot locate database file '%@'.", filePath); 
    } 
    if (!(sqlite3_open([filePath UTF8String], &db) == SQLITE_OK)) { 
     NSLog(@"An error has occured."); 
    } 
    const char *sql = "SELECT * FROM builds"; 
    sqlite3_stmt *sqlStatement; 

    if (sqlite3_prepare(db, sql, -1, &sqlStatement, NULL) != SQLITE_OK) { 
     NSLog(@"Problem with prepare statement"); 
    } 
+0

곳은 실패 하는가? 한 가지 의견은 문서 디렉토리와 파일 경로를 두 번 작업하고 있다는 것입니다. –

+0

하단의 –

+0

쪽으로 "준비 문과 관련된 문제"라는 오류 메시지가 표시되었고 파일 경로를 두 번 가져 오는 것이 옳았습니다. 코드 부분을 삭제했습니다. –

답변

1

보관 용 URL이 작동하지 않습니다, 당신은 사용할 필요가 : https://www.dropbox.com/s/zpcieluo2qv43vy/builds.sqlite?dl=1

아니면 그냥 웹 페이지를 다운로드하는이 ...

+0

끝내주었습니다! 내가 한 모든 것은 URL을 바꾸는 것이고이 모든 것이 효과가있었습니다. –

관련 문제