View Full Version : دریافت و ذخیره اطلاعات از بانک
mehdi64org
دوشنبه 07 بهمن 1392, 17:17 عصر
سلام
من میخوام با استفاده از دستور COUNT در SQL یک مقدار INTEGER دریافت کنم. با دستور زیر:
database.execSQL("SELECT COUNT (*) FROM tblUser WHERE UserName = username );
حالا این مقدارو توی چه نوع متغیری میتونم ذخیره کنم؟
اصلا با استفاده ار execSQL میشه مقداری دریافت کرد؟
( متغیر database از نوع SQLiteDatabase است )
با تشکر
احسان نعیمی
دوشنبه 07 بهمن 1392, 18:08 عصر
باید از توابعی مثل query یا rawQuery از کلاس SQLiteDatabase استفاده کنی. مقدار بازگشتی این تابع void می باشد. از execSQL برای کوئری هایی استفاده می شود که مقدار بازگشتی ندارند مثل Delete و Update. مقدار بازگشتی rawQuery و query از نوع Cursor می باشد که با اون می تونی روی داده ها حرکت کنی. توابعی به مدل get* داره که می تونی نوع فیلد موردنظرتو انتخاب و برگردونی.
mehdi64org
دوشنبه 07 بهمن 1392, 19:42 عصر
من الان این دستور رو زدم :
Cursor User= database.query("tblUser", null, null, null, null, null, null);
ولی این ارور رو میده توی لاگ کت:
Shutting down VM
FATAL EXCEPTION: main
کلا چجوری میشه از بانک اطلاعات دریافت کرد؟
دقیقا سه ساعته دارم سروکله میزنم اما هیچ فایده ای نداشت :ناراحت:
mehdi64org
دوشنبه 07 بهمن 1392, 21:55 عصر
به نظرتون این دستور کجاش اشتباهه. من دیگه مغزم به جایی راه نمیده!!
public Cursor getUser(String UserName) throws SQLException
{
Cursor mCursor =
db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
KEY_NAME, KEY_USERNAME, KEY_PASSWORD}, KEY_USERNAME + "=" + UserName, null,
null, null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
یه جدول دارم که چهارتا ستون داره. میخوام با Select روی ستون یوزرنیم، تمام رکوردهایی که یوزرنیمشون مثلا mehdi هست رو بریزم توی mCursor.
ممنون میشم اگر راهنمایی کنید
smemamian
دوشنبه 07 بهمن 1392, 22:13 عصر
اینو نگاه کن (اونایی که آخرش FAVORITES_ داره نام ستون های منه ! شما باید داخل db.rawQuery انتخابتو انجام بدی):
public ArrayList<NewsItem> getAllMyFav(){
ArrayList<NewsItem> listnewsitem = new ArrayList<NewsItem>();
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM " + MYFAVORITES, null);
if(cursor.moveToFirst()){
do{
NewsItem newitem = new NewsItem();
newitem.setHeadline(cursor.getString(cursor.getCol umnIndex(TITLE_FAVORITES)));
newitem.setDescription(cursor.getString(cursor.get ColumnIndex(DES_FAVORITES)));
newitem.setDate(cursor.getString(cursor.getColumnI ndex(DATE_FAVORITES)));
newitem.setUrllink(cursor.getString(cursor.getColu mnIndex(URL_FAVORITES)));
listnewsitem.add(newitem);
}while(cursor.moveToNext());
}
return listnewsitem ;
}
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.