-1

xCode 4.3.2 を使用しています。ここでは、データベースから列名と値をロードしようとしています。sqlQuery を使用する場合: 「select * from mytable Where company like 'SONY'」は機能しませんが、「select * from mytable」は問題なく動作します。手伝っていただけませんか?

static int loadCallback(void *context, int count, char **values, char **columns)
{
    NSString *columnName;
    NSString *columnValue;

    for (int i=0; i < count; i++) 
    {    
        columnName = [NSString stringWithUTF8String:columns[i]];

        if (values[i])
        columnValue = [NSString stringWithUTF8String:values[i]];
        else
        columnValue = @"";

        NSLog(@"%@:%@", columnName, columnValue);
    }

    return SQLITE_OK;
}

- (void)loadDataFromDatabase
{
    NSString *file = [self getWritableDBPath];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    BOOL success = [fileManager fileExistsAtPath:file]; 

    // If its not a local copy set it to the bundle copy
    if(!success) {
        //file = [[NSBundle mainBundle] pathForResource:DATABASE_TITLE ofType:@"db"];
        [self createEditableCopyOfDatabaseIfNeeded];
    }

    sqlite3 *database = NULL;
    if (sqlite3_open([file UTF8String], &database) == SQLITE_OK) {

   //QUERY WORKING
     //sqlite3_exec(database, "select * from mytable", loadCallback, valueArray, NULL);

 //QUERY NOT WORKING
     sqlite3_exec(database, "select * from mytable Where company like 'SONY'", loadCallback, valueArray, NULL);
    }

    sqlite3_close(database);
}
4

1 に答える 1

0

次のような SELECT ステートメントをお探しSELECT * FROM mytable WHERE company LIKE '%SONY%'ですか?

于 2012-05-02T15:02:49.283 に答える