私はiPhoneアプリに取り組んでいます。sqlite getData メソッドが記述された再利用可能なクラスを作成しました。コントローラーから sql ステートメントを渡し、すべての行を含む配列を取得したいと考えています。
配列に格納された sqlite3_stmt オブジェクトを取得してその配列を返すことはできますか?呼び出し時にキャストして各列の値を見つけることができますか?
私の現在のコードはそのようなものです:
-(NSMutableArray*)getData:(NSString*) SqlQuery
{
// The Database is stoed in the application bundle
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"sqliteClasses.sqlite"];
if(sqlite3_open([path UTF8String], &contactDB) == SQLITE_OK)
{
const char *sql = (const char*)[SqlQuery UTF8String];
sqlite3_stmt *compiledStatement;
if(sqlite3_prepare_v2(contactDB, sql, -1, &compiledStatement, NULL) == SQLITE_OK)
{
// Loop through the results and add them to the feeds array
while (sqlite3_step(compiledStatement) == SQLITE_ROW)//(stepResult == SQLITE_ROW)
{
// [arrayRecords addObject:compiledStatement];
}
}
sqlite3_finalize(compiledStatement);
}
sqlite3_close(contactDB);
return arrayRecords;
}
エラー行は次のとおりです。 [arrayRecords addObject:compiledStatement];
どうすればこれを達成できますか? これを実装するための代替手段はありますか?
ありがとう。