مشکل در کوئری گرفتن از چندین کلمه مشابه در Field و پیاده سازی آن در لیست ویو (دیتابیس)
من یک جدول در دیتابیس به شکل زیر دارم. حالا اگه بخوام کوئری بگیرم که گزینه One - Two - Three تمام بخش های field1 رو بترتیب داخل لیست ویو بگیره باید سینتکسش رو چطوری بنویسم؟
مثال
One بخش اول، بخش دوم، بخش سوم
Two بخش اول، بخش دوم
Three بخش اول، بخش دوم، بخش سوم
یعنی مثلا وقتی گزینه One رو کلیک کنی و به لیست ویو بره و مثال اول باز بشه. بعد وقتی روی بخش اول کلیک کنی دوباره لیست دیگه ای باز بشه.
امیدوارم که منظورمو درست بیان کرده باشم...
| Field3 | Field2 | Field1 | Field |
| x | کیس | بخش اول | One |
| x | مادربورد | بخش اول | One |
| x | رم | بخش دوم | One |
| x | گرافیک | بخش سوم | One |
| x | سی پی یو | بخش اول | Two |
| x | هارد | بخش دوم | Two |
| x | رایتر | بخش اول | Three |
| x | کیبورد | بخش دوم | Three |
| x | پاور | بخش سوم | Three |
سلام؛
خب شما باید یه ساختمان داده داخل برنامتون بسازید که توش همه فیلد هاتون رو داشته باشید بعد برای دریافت کل اطلاعات از دیتابیس و نمایشش در لیست ویو باید یه لیستی از این ساختمان داده رو بسازید .
مثلا شما یه ساختمان داده ای دارید به اسم item که شامل اطلاعات فیلد های دیتابیس هست . داخل کلاس دیتابیس یا خارج از اون یه متد مینویسید که با دیتابیس ارتباط میگیره و یه خروجی از لیست ساختمان داده معرفی شده میده :
public List<item> getItems() {
List<item> items = new ArrayList<item>();
String selectQuery = "SELECT * FROM " + TABLE_ITEMS + " ORDER BY " + "Field" + " ASC";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
item struct = new item();
item .setField1(cursor.getString(0));
item .setField2(cursor.getString(1));
item .setField3(cursor.getString(2));
items.add(struct);
} while (cursor.moveToNext());
}
return items;
}
خُب ، الان ما لیستی از آیتم ها رو از دیتابیس با این متد میتونیم بگیریم.
حالا شما ادپتر لیست ویوتون رو با لیستی که براتون ارسال میکنه پرمیکنید .
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .