2011-06-21 11 views
0

私のアプリでは、同じカテゴリを持つ画像の数を取得するためにクエリを実行しています。そのカテゴリはパラメータとして渡されます。クエリが実行されると、1つまたは複数の結果の2つを取得します。そのためには、文字列を整数に変換する必要があると思います。私は文字列の値をチェックすると私に1が表示されますが、その値がメソッドに返されると、次のようなものが表示されます:695842など。理由は何でしょうか?助けてください。私は、コードの一部を掲載しています: -Sqliteデータベースのクエリ後の戻り値の問題

-(NSInteger)searchImagesInSameCategory:(NSString *)categoryName 
{ 

    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

    NSString *documentsDirectory= [paths objectAtIndex:0]; 

    NSString *path=[documentsDirectory stringByAppendingPathComponent:@"SymbolTalkLanguageElement.sqlite"]; 


    //Open the database 
    //might have to make database as property 
    if(sqlite3_open([path UTF8String], &dataBase) ==SQLITE_OK) 
    { 



     sqlite3_stmt *statement; 

     NSString *strSQL = [[NSString alloc]init]; 


     strSQL = @"select Count(ImageName) from tblLanguageElement where Category='"; 

     strSQL = [[strSQL stringByAppendingString:categoryName] stringByAppendingString:@"'"]; 


     const char *bar = [strSQL UTF8String]; 


     if(sqlite3_prepare(dataBase, bar, -1, &statement, NULL) == SQLITE_OK) 
     { 

      while (sqlite3_step(statement) == SQLITE_ROW) 
      { 

       NSLog(@"%@",[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)]); 

       int k; 

       //NSString *string=[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)]; 

       //NSLog(string); 

       k=[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)]; 

       //NSLog([NSString stringWithFormat:@"Count for k:-%d",k]); 

       //[list addObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)]]; 

       //return [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)]; 

       return k; 
      } 

     } 



    } 
    return 1; 

} 

答えて

1

あなたはintNSStringを変換するintValueメソッドを使用する必要があります。

NSString *integerStr = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)]; 
k = [integerStr intValue]; 
+0

おかげでたくさん..... – Christina

+0

@Christina、乾杯を働きました。スタックオーバーフローはすべてのものを助けるために喜びを感じる:-) – EmptyStack

+0

たくさんのより多くの助け:-)素晴らしい – Christina