مشکل با cursor در بانک
مدیریت گفتگو
دوستان این خط از خطا دقیقا منظورش چیه.
android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 52
یه توضیح درمورد برنامه بدم.من یک sqlite دارم که از پوشه asset موقع اجرا کپی میشه تو گوشی.حالا میخوام ازش Qery بگیرم ولی از cursor ایراد میگیره.حالا به نظرتون من کجا اشتباه کردم.
پاسخها 4
database = SQLiteDatabase.openOrCreateDatabase(ApplicationDbCopy.DB_QESTION_PATH, null);
Cursor cursor = database.rawQuery("SELECT * FROM quise ", null);
qestiondb = cursor.getString(cursor.getColumnIndex("soal"));
نظرات
database = SQLiteDatabase.openOrCreateDatabase(ApplicationDbCopy.DB_QESTION_PATH, null);
Cursor cursor = database.rawQuery("SELECT * FROM quise ", null);
if( cursor != null && cursor.moveToFirst() ){
qestiondb = cursor.getString(cursor.getColumnIndex("soal"));
cursor.close();
}
نظرات
دوستان مگه نمیشه جلو شرط متغیر گذاشت؟آخه متغیر من از نوع عددیه مثلا عدد توشم هست 10 وقتی با متغیر مینویسم خطا میده ولی وقتی عدد میزارم کار میکنه.اینم کد.
Cursor cursor = database.rawQuery("SELECT * FROM quise WHERE id=rnd",null);
نظرات
زمانی که شما یک پارامتر را می خواهید به Query اضافه کنید باید آن را طوری بنویسید که محتویاتش درون Query اضافه شود نه اسمش. مثلا در مثال بالا باید بنویسید :
Cursor cursor = database.rawQuery("SELECT * FROM quise WHERE id="+ rnd,null);
دقت کنید که چیزی که درون رشته ارسال می شود برای SQL باید قابل درک باشد. متغیر rnd درون کد جاوا معنی دارد و در SQL معنی ندارد مگر شما اصلطلاحا stored procedure بنویسید که خارج از بحث این مکان است.
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
نظرات