2013-05-04 5 views
1

это мой код ... Я хочу получить все данные кавычек, которые содержат 320 цитат, но только для получения первой цитаты. пожалуйста, помогите мнеКак получить все данные столбцов в таблице

-(NSMutableArray *)getAllQuotesData 
{ 
    NSMutableArray *quotesArray = [[NSMutableArray alloc] init]; 

    NSString *sqlStr = [NSString stringWithFormat:@"SELECT quote FROM quotes"]; 

    sqlite3_stmt *ReturnStatement = (sqlite3_stmt *) [self getStatement:sqlStr]; 

    while (sqlite3_step(ReturnStatement)==SQLITE_ROW) 
    { 
     @try 
     { 
      QuotesDC *myQuote = [[QuotesDC alloc] init]; 

      NSString *user_id = [NSString stringWithUTF8String:(char 
*)sqlite3_column_text(ReturnStatement,0)]; 

      NSString *category = [NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement,1)]; 

      NSString *subcategory = [NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement,2)]; 

      NSString *quote = [NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement,0)]; 

      NSString *star = [NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement,4)]; 

      myQuote.userid = [user_id integerValue]; 
      myQuote.category = category; 
      myQuote.subcategory = subcategory; 
      myQuote.quote = quote; 
      myQuote.star = star; 

      [quotesArray addObject:myQuote]; 
      NSLog(@"%u", quotesArray.count); 
     } 
     @catch (NSException *ept) { 
      NSLog(@"Exception in %s, Reason: %@", __PRETTY_FUNCTION__, [ept reason]); 
     } 

     return quotesArray; 
    } 
} 

ответ

1

ничего плохого с кодом просто одна вещь return dataArray будет вне цикла, вы будете загружать все цитаты, подобные этому, принять мой ответ спасибо

-(NSMutableArray *)getAllQuotesData 
{ 
    NSMutableArray *quotesArray = [[NSMutableArray alloc] init]; 

    NSString *sqlStr = [NSString stringWithFormat:@"SELECT quote FROM quotes"]; 

    sqlite3_stmt *ReturnStatement = (sqlite3_stmt *) [self getStatement:sqlStr]; 

    while (sqlite3_step(ReturnStatement)==SQLITE_ROW) 
    { 
     @try 
     { 
      QuotesDC *myQuote = [[QuotesDC alloc] init]; 

      NSString *user_id = [NSString stringWithUTF8String:(char 
*)sqlite3_column_text(ReturnStatement,0)]; 

      NSString *category = [NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement,1)]; 

      NSString *subcategory = [NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement,2)]; 

      NSString *quote = [NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement,0)]; 

      NSString *star = [NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement,4)]; 

      myQuote.userid = [user_id integerValue]; 
      myQuote.category = category; 
      myQuote.subcategory = subcategory; 
      myQuote.quote = quote; 
      myQuote.star = star; 

      [quotesArray addObject:myQuote]; 
      NSLog(@"%u", quotesArray.count); 
     } 
     @catch (NSException *ept) { 
      NSLog(@"Exception in %s, Reason: %@", __PRETTY_FUNCTION__, [ept reason]); 
     } 


    } 
return quotesArray; 
} 
+0

спасибо, сэр это работает на 100% правильно .. спасибо, что вы решили мою проблему – HappyCoding

+0

вы приветствуете .... – NullData

+0

Хорошо заметили! .. –

0

попробовать, как это когда-то проверить вашу базу данных таблицы 320 записей, размещенных или нет, если присутствует, то it'l дает Л.Л. данных.

SELECT quote FROM quotes //it'l gives only quote columnvalues from quotes table. 

, если вы хотите, чтобы получить все данные, а затем использовать звездочку «*» символ в месте цитаты.

иначе попробовать, как это,

SELECT quote FROM quotes limit 320 //it'l gives top 320 records 

один раз прочитать этот you'l нашел проблему. select Query

+0

@ user1939575: он дает правильный результат, если ваша база данных имеет 320 записей. – Balu

0

Замените строку запроса с этим

NSString *sqlStr = [NSString stringWithFormat:@"SELECT * FROM quotes WHERE quote=320"]; 
+0

это не решит problm – HappyCoding

0

Используйте этот код, это может помочь вам

-(void)retrivequoteFromDB 
{ 
    NSMutableArray * quoteArray=[[NSMutableArray alloc]init]; 

    sqlite3 *sqliteDB; 

    sqlite3_stmt *compiledStatement = NULL; 

    if(sqlite3_open([databasePath UTF8String], &sqliteDB)==SQLITE_OK) 
    { 
     NSString *[email protected]"SELECT quote FROM quotes"; 

     const char *sqlC=[sql UTF8String]; 

     if(sqlite3_prepare(sqliteDB, sqlC, -1, &compiledStatement, NULL)==SQLITE_OK) 
     { 
      while(sqlite3_step(compiledStatement) == SQLITE_ROW) 
      { 
       NSString *quote = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 1)]; 

       [quoteArray addObject:quote]; 
      } 
     } 
     sqlite3_reset(compiledStatement); 
    } 
    sqlite3_finalize(compiledStatement); 
} 
Смежные вопросы