SQLiteデータベースios6.0からデータを取得できません
-
11-12-2019 - |
質問
Build IOS5.0以下を実行すると、SQLiteの応答が正しく実行され、データを元に戻してIOS6.0で実行すると、My.SQLiteデータベースからデータを取得しようとしていますが、IFの場合は実行していません。それは常に他の状態に入ります。私がしているのは何が悪いこと?私は私のIFケースを実行することができません。if(sqlite3_prepare_v2(database, sqlQuerry, -1, &querryStatement, NULL)==SQLITE_OK).
参照このコードを確認してください。
NSLog(@"sqlite3_prepare_v2 = %d SQLITE_OK %d ",sqlite3_prepare_v2(sqlite, [strQuery UTF8String], -1, &compiledStatement, nil),SQLITE_OK);
if(sqlite3_prepare_v2(sqlite, [strQuery UTF8String], -1, &compiledStatement, nil)==SQLITE_OK)
{
NSLog(@"sqlite3_step = %d SQLITE_ROW %d ",sqlite3_step(compiledStatement),SQLITE_ROW);
while (sqlite3_step(compiledStatement)==SQLITE_ROW)
{ if(sqlite3_column_text(compiledStatement, 2) != nil)
modelObj.Name = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 2)];
}
}
else
{
}
.
IOS6.0ログ印刷
sqlite3_prepare_v2 = 1 SQLITE_OK 0
sqlite3_step = 21 SQLITE_ROW 100
.
ios5.0ログ印刷
sqlite3_prepare_v2 = 0 SQLITE_OK 0
sqlite3_step = 100 SQLITE_ROW 100
. 解決
他の場所で場所を置くので、結果として生じるエラーが発生することができます..
if(sqlite3_prepare_v2(sqlite, [strQuery UTF8String], -1, &compiledStatement, nil)==SQLITE_OK)
{
NSLog(@"sqlite3_step = %d SQLITE_ROW %d ",sqlite3_step(compiledStatement),SQLITE_ROW);
while (sqlite3_step(compiledStatement)==SQLITE_ROW)
{ if(sqlite3_column_text(compiledStatement, 2) != nil)
modelObj.Name = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 2)];
}
}
else{
//error
NSLog(@"Failed to open database. Error: %s",sqlite3_errmsg(database));
}
. 他のヒント
デバイス(またはシミュレータ)からアプリを削除しようとし、クリーン&ビルド
私は100%確実ではありませんがこれに関して: ヌルは void * 、 nil は ID です。
だからこれを変更することができれば:
.
if(sqlite3_prepare_v2(sqlite, [strQuery UTF8String], -1, &compiledStatement, nil)==SQLITE_OK)
聖霊降臨祭:
.
if(sqlite3_prepare_v2(sqlite, [strQuery UTF8String], -1, &compiledStatement, NULL)==SQLITE_OK)
nullでnilを変更するだけです。もう一度100%確実ではありませんが、これだけがあなたのコードで見ています。常にNULLを使用します。)
この助けを願って...