غير قادر على استرداد البيانات من قاعدة بيانات SQLite iOS6.0
-
11-12-2019 - |
سؤال
عندما أقوم بتشغيل إنشاء 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
المحلول
ضع في آخر هذا، حتى نتمكن من رؤية الخطأ الناتج .. giveacodicetagpre.
نصائح أخرى
حاول حذف التطبيق الخاص بك من جهازك (أو محاكي) ثم نظف وبناء
لست متأكدًا بنسبة 100% ولكن بخصوص هذا:باطل هو فارغ *, لا شيء هو بطاقة تعريف
لذلك إذا كان بإمكانك تغيير هذا:
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.مرة أخرى، لست متأكدًا بنسبة 100% ولكن هذا فقط ما أراه في شفرتك.أنا دائما أستخدم NULL :)
نأمل أن تكون هذه المساعدة...