テーブルに 12 列あります。最後の 2 つの列が新しく追加されます。私はsqlite3データベースを使用しています。最後に作成した 2 つの新しい列以外の列に where 句を使用すると、データベースが作成され、クエリが正しく実行されます。最後の 2 つの列は NULL 文字列を返します。これにより、キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリが終了し、アプリがクラッシュします。理由: '* +[NSString stringWithUTF8String:]: NULL cString' * *
クエリが SQL Manager で実行されると、最後の 2 つの列を取得できました。準備ステートメントのどこかが間違っていると思います。
NSString *query = @"select * from tableName where lastColumn = 'Value'";
const char *sqlStatement = [query UTF8String];
sqlite3_stmt *compiledStatement;
NSLog(@"could not prepare statement: %s\n", sqlite3_errmsg(database));
if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {
// Loop through the results and add them to the feeds array
while(sqlite3_step(compiledStatement) == SQLITE_ROW) {
}
これについて私を助けてください。最後の2つの列がどこに行ったのかまったくわかりません.. :)