如何从我的项目中使用数据库的iPhone

问题描述:

从数据库检索一个特定的列。那里有近365个问题。因此,我想得到一个particulat问题的特定day.i使用下面的代码来获取来自数据库的疑问。如何从我的项目中使用数据库的iPhone

-(void)print{ 
    sqlite3_stmt *statement; 


    // SELECT * from light where rowid = %i",1 
     qsql=[NSString stringWithFormat:@"Select * from ishh where col_1 = '365'"]; 


     if(sqlite3_prepare_v2(database, [qsql UTF8String], -1, &statement, NULL) == SQLITE_OK) { 
      NSLog(@"%dsssssssssssssss",sqlite3_step(statement)); 
      NSLog(@"%ddddddddddddddddddddd", (SQLITE_ROW)); 
      NSString *Q_NO = [[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(statement, 1)]; 
      NSLog(@"%@ gg",Q_NO); 

当我在我给像QSQL =语句中使用它被打印从database.Also正确问题上面的代码[NSString的stringWithFormat:@“从ishh选择*,其中COL_1 =‘1’”];它没有提到这个问题。 但是,当我使用下面的代码,它不是从数据库中获取。

-(void)print{ 
    sqlite3_stmt *statement; 

    // SELECT * from light where rowid = %i",1 
     qsql=[NSString stringWithFormat:@"Select * from ishh where col_1 = '1'"]; 


     if(sqlite3_prepare_v2(database, [qsql UTF8String], -1, &statement, NULL) == SQLITE_OK) { 
      NSLog(@"%dsssssssssssssss",sqlite3_step(statement)); 
      NSLog(@"%ddddddddddddddddddddd", (SQLITE_ROW)); 
      NSString *Q_NO = [[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(statement, 1)]; 
      NSLog(@"%@ gg",Q_NO); 
      while (sqlite3_step(statement) == (SQLITE_ROW)) 
      { 
       NSLog(@" iolo"); 
       NSString *Q_NO = [[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(statement, 1)]; 
       //NSString *Q_NO = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%i",sqlite3_column_int(statement, 0)]]; 

       NSLog(@"%@ gg",Q_NO); 


      } 
      sqlite3_reset(statement); 

     } 
    sqlite3_finalize(statement); 
    } 

      Can anyone tell me where im going wrong.Thanks in advance. 
+0

你确定你有'ishh'记录其中'col_1'是'1'?如果它正在'365'而不是'1'上工作,那似乎是问题所在。 –

+0

是的..有一个记录 – ishhhh

+0

什么类型的列是col_1?如果它不是'INTEGER',请确保它没有任何空格。你还可以检查sqlite是否返回任何错误? (用'NSLog(@“%s”,sqlite3_errmsg(database))添加'else';') –

-(void)print{ 
    sqlite3_stmt *statement; 
    qsql=[NSString stringWithFormat:@"Select * from ishh where col_1 = '1'"]; 

    if(sqlite3_prepare_v2(database, [qsql UTF8String], -1, &statement, NULL) == SQLITE_OK) { 
     while (sqlite3_step(statement) == (SQLITE_ROW)) 
     { 
      char *field0 = (char *)sqlite3_column_text(statement, 0); 
      char *field1 = (char *)sqlite3_column_text(statement, 1); 
      NSString *Q_NO = nil; 
      if(field0!=NULL){ 
       Q_NO = [[NSString alloc] initWithUTF8String:field0]; 
      } 
      NSString *Q_NO1 = nil; 
      if(field1!=NULL){ 
       Q_NO1 = [[NSString alloc] initWithUTF8String:field1]; 
      } 
      NSLog(@"%@ %@",Q_NO, Q_NO1); 

      [Q_NO release]; 
      [Q_NO1 release]; 
     } 
    } 
    sqlite3_finalize(statement); 
} 
+0

感谢它为我工作.. – ishhhh