2012-07-20 1 views
1

나는 테이블에서 데이터를 선택하고 싶지만 질문 테이블과 답변 테이블에 동일한 질문 ID를 가진 데이터. SQLite는 이상 간단한 래퍼를 시도 - - 은 지금은 코드가 나는 SQLite는 DB를 호출 c 수준의 코드를 피하는 것이 좋습니다데이터베이스에서 데이터를 선택 양식 아이폰 애플 리케이션에서 두 테이블

 + (void) getAnswers:(NSString*)dbPath{ 

    CereniaAppDelegate *appDelegate = (CereniaAppDelegate *)[[UIApplication sharedApplication] delegate]; 

    if (sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK) { 

    const char *sql = "select *from answers"; 

    sqlite3_stmt *selectstmt; 
    if(sqlite3_prepare_v2(database, sql, -1, &selectstmt, NULL) == SQLITE_OK) { 

     while(sqlite3_step(selectstmt) == SQLITE_ROW) { 

      NSInteger primaryKey = sqlite3_column_int(selectstmt, 0); 
      Answers *coffeeObj = [[Answers alloc] initWithPrimaryKey:primaryKey]; 


      coffeeObj.answer_text = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 3)]; 



      NSString*testString=coffeeObj.answer_text; 

      NSLog(testString); 
      [appDelegate.answerArray addObject:coffeeObj]; 

      int mycount=[appDelegate.answerArray count]; 

      NSLog(@"This is int of latest %d",mycount); 


      [coffeeObj release]; 
      } 
      } 
      } 


    else 
     sqlite3_close(database); //Even though the open call failed, close the database connection to release all the memory. 
     } 
+0

const char * sql = "select * from answers"; const char * sql = "select * from answers where questionId =?"; – Nina

+0

@Nina 그러면 코드 – user1520252

+0

의 질문 ID를 어디로 전달해야합니까? '질문'표에서 질문을 얻고 있다고 생각합니다. SQL 쿼리 문자열에 연결하십시오. 그 전에는 가짜 쿼리를 시도하십시오 const char * sql = "select * from answers where questionId = '2'"; – Nina

답변

0

아래와 같습니다 답변에서 모든 데이터를 선택이 허용됩니다 https://github.com/JohnGoodstadt/EasySQLite

참조 : 당신은 내가 더 많은 도움이 나가 무엇을하려고하는 데이터 테이블 정의와에 대한 정보를 추가하는 경우 - 당신은 당신의 실제 쿼리에 응답하기 위해 LEFT를 사용하여 문을 가입 할 필요가 같은

DataTable* result = [_db ExecuteQuery:@"SELECT * FROM answers"]; 

그것은 느낀다.

관련 문제