انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
خطا هنگام Select کردن یک رشته از دیتابیس (در برنامه نویسی اندروید)

خطا هنگام Select کردن یک رشته از دیتابیس (در برنامه نویسی اندروید)

#1
با سلام
من یک بخش جستجو قرار دادم داخل یک Activity همه چیز درست است فقط قسمت Select دیتابیس مشکل دارد. کدهای من به شرح زیر است: (در خط اول عبارت جستجو را از Intent دریافت کردم و به درستی دریافت شده)

کد پی‌اچ‌پی:
String search extras.getString("search");
            
TextView tvS = (TextViewfindViewById(R.id.textViewS);
            
tvS.setText("جستجو برای: " search);

            
SQLiteDatabase db openOrCreateDatabase("ArmDB"Context.MODE_PRIVATEnull);
            
            
Cursor cursor db.rawQuery("SELECT * FROM topics WHERE topic_title LIKE" + %search% , null);
            if (
cursor.moveToFirst()) {
                do {
                    
Log.d("Search ""پیدا شد");

                } while (
cursor.moveToNext());
            }else {
                
Log.d("Search ""پیدا نـشد");
            }

            
db.close(); 
پاسخ

خطا هنگام Select کردن یک رشته از دیتابیس (در برنامه نویسی اندروید)

#2
سلام.
شما از اطلاعات خوانده شده، استفاده ای نکرده اید. یعنی بعد از خواندن اطلاعات، کد زیر را نوشته اید :

کد پی‌اچ‌پی:
if (cursor.moveToFirst()) {
                do {
                    
Log.d("Search ""پیدا شد");

                } while (
cursor.moveToNext());
            }else {
                
Log.d("Search ""پیدا نـشد");
            } 

این کد تنها در قسمت LogCat برنامه eclipse ، پیام هایی را نمایش خواهد داد (البته اگر بر روی ماشین مجازی تست کنید یا گوشی واقعی با کابل usb به کامپیوتر متصل باشه)، ولی عملیاتی برای اجرا در خود برنامه (که مثلا یک خروجی قابل دیدن داشته باشد) در نظر نگرفته اید.
توصیه می کنم کلید زیر را بخوانید :

کلید شماره 330

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط shafiei7

خطا هنگام Select کردن یک رشته از دیتابیس (در برنامه نویسی اندروید)

#3
(۱۳۹۳/۱۰/۰۲, ۰۸:۲۹ ق.ظ)shafiei7 نوشته: با سلام
من یک بخش جستجو قرار دادم داخل یک Activity همه چیز درست است فقط قسمت Select دیتابیس مشکل دارد. کدهای من به شرح زیر است: (در خط اول عبارت جستجو را از Intent دریافت کردم و به درستی دریافت شده)

کد پی‌اچ‌پی:
           String search extras.getString("search");
 
           TextView tvS = (TextViewfindViewById(R.id.textViewS);
 
           tvS.setText("جستجو برای: " search);

 
           SQLiteDatabase db openOrCreateDatabase("ArmDB"Context.MODE_PRIVATEnull);
 
           
            Cursor cursor 
db.rawQuery("SELECT * FROM topics WHERE topic_title LIKE" + %search% , null);
 
           if (cursor.moveToFirst()) {
 
               do {
 
                   Log.d("Search ""پیدا شد");

 
               } while (cursor.moveToNext());
 
           }else {
 
               Log.d("Search ""پیدا نـشد");
 
           }

 
           db.close(); 

سلام دوست عزیز 
اگر  که وقت اجرای   دستور  در پنجره لوگ کت ارور رو از سینتکس مربوط به select میدونه  احتمال زیاد بخاطر رعایت نکردن فاصله بین کدهاتون هستش 
بعد از کلمه Like یک اسپیس بزنید
پاسخ

خطا هنگام Select کردن یک رشته از دیتابیس (در برنامه نویسی اندروید)

#4
(۱۳۹۳/۱۰/۰۲, ۰۸:۲۹ ق.ظ)shafiei7 نوشته: با سلام
من یک بخش جستجو قرار دادم داخل یک Activity همه چیز درست است فقط قسمت Select دیتابیس مشکل دارد. کدهای من به شرح زیر است: (در خط اول عبارت جستجو را از Intent دریافت کردم و به درستی دریافت شده)

کد پی‌اچ‌پی:
           String search extras.getString("search");
 
           TextView tvS = (TextViewfindViewById(R.id.textViewS);
 
           tvS.setText("جستجو برای: " search);

 
           SQLiteDatabase db openOrCreateDatabase("ArmDB"Context.MODE_PRIVATEnull);
 
           
            Cursor cursor 
db.rawQuery("SELECT * FROM topics WHERE topic_title LIKE" + %search% , null);
 
    if (cursor.moveToFirst()) {
 
    do {
 
        Log.d("Search ""پیدا شد");

 
    } while (cursor.moveToNext());
 
    }else {
 
    Log.d("Search ""پیدا نـشد");
 
    }

 
    db.close(); 

سلام
مشکل از نحوه نوشتن دستور SELECT شما هستش

این قسمت رو 
کد:
Cursor cursor = db.rawQuery("SELECT * FROM topics WHERE topic_title LIKE" + %search% , null);

به این شکل تغییر بدید
کد:
Cursor cursor = db.rawQuery("SELECT * FROM topics WHERE topic_title LIKE %" + search +"%" , null);
 نکته : 
جهت ایجاد امنیت در ارسال داده بهتره به این شکل استفاده کنید
کد:
Cursor cursor = db.rawQuery("SELECT * FROM topics WHERE topic_title LIKE %?%",new String[] {"search "});
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان