آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل جالب در دریافت اطلاعات از دیتابیس

s.v3  7 سال پیش  7 سال پیش
0 0

با سلام.دوستان بنده در یک اکتیویتی میخوام با این دستور میخوام اطلاعات رو از دیتابیبس بخونم ولی نال برمیگرونه میتونید کمک کنید؟مشکل اصلی هم زمانیه که برای کرسور شرط ایدی میزام.بدونه اون مشکلی نیست.

 

  try{
dh.open();
Cursor allrows = dh.database.rawQuery("SELECT * FROM doh.tbl_users WHERE id>1", null);
if(allrows.moveToLast()){
do{

namefamily = allrows.getString(3);


}
while(allrows.moveToNext());
}
dh.close();
}catch(Exception e){
Toast.makeText(getApplicationContext(), "خطا!1!!!", Toast.LENGTH_LONG).show();
}

Toast.makeText(getApplicationContext(), namefamily+"", Toast.LENGTH_LONG).show();
0 0
سلام ، در شرط if چرا به جای moveToNext از moveToLast استفاده کردین ؟! البته در این صورت باز هم باید فقط آخرین رکورد رو بده نه اینکه null برگردونه . شاید دیتابیس فقط اندیس 0 و 1 داره ( 2 رکورد ) (7 سال پیش)
0 0
در ضمن طبق تاکید شدیدی که استاد کردن ، بلوک finally رو بنویسید و dh.close رو درون اون قرار بدید . چون الان اگه خطایی رخ بده دیتابیس بسته نمیشه . (7 سال پیش)
0 0
همونطور که دوستمون گفتن از moveToNext استفاده کنید (7 سال پیش)
 برای این سوال 2 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
s.v3  7 سال پیش
0 0

دوست عزیز از move to next هم استفاده کردم نشد.میشه لطف کنید اشکال این خط کد رو پیدا کنید و صحیحش رو برام بنویسید؟با کد خط اول هیچ مشکلی نداه ولی به محض اینکه شرط ای دی رو براش میزارم کرش میکنه.در اصل میخوام ستون ای دی رو چک کنه و ای دی 1 فیلد نیم رو برگردونه.خواهشا راهنمایی کنید

Cursor allrows  = dh.database.rawQuery("SELECT * FROM "+  doh.tblseting , null);

Cursor allrows = dh.database.rawQuery("SELECT * FROM doh.tblseting  WHERE id = 1", null);
 
پاسخ به سوال 
Reza  7 سال پیش
+1 0

 پاسخ صحیح

سلام

    شما در خط دوم که شرط id رو اضافه کردین متغیر نام جدول رو داخل " " نوشتین . اسم جدول چیه ؟ اگه doh.tblseting متغیر String هست که داخلش نام جدول ذخیره شده باید مثل خط اول بنویسید :

 Cursor allrows = dh.database.rawQuery("SELECT * FROM " + doh.tblseting + " WHERE id=1", null);
+1 0
واقعا ممنون دوست عزیز. این قواعد نوشتاری بعضی مواقع ادم رو چند روز مشغول و سرگردان میکنه.تشکر از شما (7 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .