آموزش دستور Where در دیتابیس Sqlite
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش دستور Where در دیتابیس Sqlite می پردازیم از دستور Where به منظور قرار دادن شرط در دیتابیس Sqlite استفاده می شود هر زمانی که بخواهید یک شرط منطقی را در میان داده های خود در دیتابیس بررسی کنید می توانید از دستور یا Clause ی به نام Where استفاده کنید در ادامه با ما همراه باشید تا نحوه پیاده سازی دستور Where را یاد گیرید.
همانطور که در بالا گفتیم از دستور Where به منظور قرار دادن یک شرط استفاده می شود در ادامه مثالی از دستور Where برای شما قرار می دهیم.
کد زیر را در نظر بگیرید.
1 2 3 4 5 | public Cursor fetchTimetable() { String[] columnNames = new String[] {TIMETABLE_ROWID, TIMETABLE_MODULECODE, TIMETABLE_MODULENAME, TIMETABLE_ROOM, TIMETABLE_LECTURER, TIMETABLE_TIME}; String whereClause = "TIMETABLE_MODULECODE=123"; return mDb.query(DATABASE_TABLE_TIMETABLE, columnNames, whereClause, null, null, null, null); } |
در بالا یک آرایه از ستون ها ایجاد کردیم تا بتوانیم در آن ستون ها سرچ کنیم و یک متغیر به نام whereClause در نظر گرفتیم این مقدار شرط ما خواهد بود در بالا در جدول در ستونی به نام model مقدار 123 را چک می کنیم یعنی هر رکوردی که برابر با 123 بود را برای ما برگرداند.
یک مدل دیگر از شرط / دستور where در دیتابیس sqlite را در ادامه باهم بررسی می کنیم.
1 2 3 4 5 | String[] projection= {column names}; String[] where={"values for where clause"}; public Cursor fetchTimetable() { return mDb.query(TABLE_NAME, projrction, "columname"+"=?", where, null, null, null); } |
در بالا مثل قبل عمل کردیم فقط بخش value شرط را در یک آرایه قرار دادیم (باید آرایه باشد !) و query را در بالا به شکلی خاص زدیم یعنی بعد از نام table و نام ستون فیلدی که می خواهیم بررسی شود را قرار دادیم و بعد از آن value یا مقدار شرط را بررسی کردیم.
مدل ساده شده دستور where همانند زیر خواهد بود در صورتی که تازه برنامه نویسی را شروع کردید درک کد زیر بسیار آسان تر خواهد بود.
1 | return mDb.rawQuery("SELECT * FROM myTable WHERE column1 = "+ someValue, null); |
و در نهایت یک کد کامل برای تکمیل بخش دستور Where در Sqlite
1 2 3 4 5 6 7 8 9 10 11 | SQLiteDatabase db = this.getReadableDatabase(); //Cursor cursorr = db.rawQuery(Query, null); Cursor cursorr = db.rawQuery("select * from " + DATABASE_TABLE_EHS + " where " + TASK_ID + "='" + taskid + "'" , null); if (cursorr.moveToFirst()) { do { // your code like get columns } while (cursorr.moveToNext()); } } |
این آموزش هم به پایان رسید.
موفق باشید.