2009-11-15 6 views
0

작은 동적 메모리 할당을 할 수 있도록 아이폰에서 sqlite3 테이블의 레코드 수를 얻으려고합니다. 하지만 다음 코드를 실행하면 레코드 수가 0이됩니다. DB가 열려 있습니다. (이 코드 바로 다음에 관심있는 테이블의 행을 검색하는 코드가 더 있습니다.) 나는 기록 수를 얻을 수 없다. 나는 다시 내가 기대하지 않는 열의 수를받지 못했습니다 것을 확인하는 것입니다 - sqlite3 아이폰 DB에서 레코드 수 얻기

sqlite3_stmt *stmt = nil; 

const char *countSql = "select count(*) from users;"; 
if (sqlite3_prepare(db, countSql, -1, &stmt, NULL) != SQLITE_OK) { 
    NSAssert1 (0, @"error preparing count statement", sqlite3_errmsg(db)); 
} else { 
    for (int i = 0; i < 3; i++) { 
     usersCnt = sqlite3_column_int(stmt, i); 
     NSLog(@"usersCnt %d", usersCnt); 
    } 
} 
sqlite3_finalize(stmt); 

전 (3 일)을 통해 내가 반복하고있어 유일한 이유

.

코드 인쇄 :

2009-11-15 21:26:17.225 MyDBTest [12759:207] usersCnt 0 
2009-11-15 21:26:17.225 MyDBTest [12759:207] usersCnt 0 
2009-11-15 21:26:17.225 MyDBTest [12759:207] usersCnt 0 

답변

2

에 코드가 누락 sqlite3_step()

+0

명은 SO 질문을 찾고, 끊임없이 화면을 새로 고침 기다려야 거의 같은 그건 그들이 :) 감사에 대한 답을 알고있다 백만 분의 일이라면, 근시가 잘라내어 붙인 후에도 놀라운 일입니다. – KevinDTimm

+0

나머지 코드 리뷰를 빨리 처리 할 수 ​​있다면 인생은 GRAND가 될 것입니다! – KevinDTimm

관련 문제