0
私はiPhoneアプリで作業しています。私はsqliteのgetDataメソッドが記述された再利用可能なクラスを作成しました。私は私のコントローラからsqlステートメントを渡したいと思い、すべての行で配列を取得したい。オブジェクトを呼び出すためにsqlite3_stmtを返す方法
配列に格納された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]。
どうすればいいですか?これを実装するための任意の代替?
ありがとうございました。