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

جستوجو در sqlite

سینا  6 سال پیش  6 سال پیش
0 0

سلام و خسته نباشید.

من یه برنامه نوشتم برای ارسال و دریافت پیامک که در دیتاببیس ذخیر میکنه. 

میخوام اگر شماره ای قبلا در دیتابیس بود سرچ کنم در دیتابیس و اگر وجود داشت دیگه آیدی جدیدی نسازه و فقط مقادیر آپدیت بشه.

کد زیر رو در برنامه قرار دادم ولی برنامه کرش میکنه، لطفا یه راهنمایی بکنید.

String Snumber="";
Cursor Mycursor=mydb.rawQuery("SELECT * FROM " + Table_Name1 + " WHERE Number =" + StNumber, null);
// یا این Cursor Mycursor=mydb.rawQuery("SELECT * FROM " + Table_Name1 + " WHERE Number =؟" + StNumber, null);

Snumber=Mycursor.getString(1);
Mycursor.close();
Log.i("sinaaa",Snumber);
if (Snumber!=null) {

try {
ContentValues UpdateValues = new ContentValues();
UpdateValues.put("Message", Message);
UpdateValues.put("MyMessage", MyMessage);
UpdateValues.put("Date", Date);
UpdateValues.put("Time", Time);
UpdateValues.put("MeOrYou", MeOrYou);
UpdateValues.put("Sim", Sim);
UpdateValues.put("TimeForShow", TimeForShow);
UpdateValues.put("Read", 2);
mydb.update(Table_Name1, UpdateValues, StNumber, null);
} catch (Exception e) {
e.printStackTrace();
}
}
 برای این سوال 1 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
S.A.M  6 سال پیش
+1 0

 پاسخ صحیح

خب شما باید مقادیر رو از کرسر به اینصورت دریافت کنید . باید بگید

 While(Mycursor.moveToNext()){
//اینجا بر اساس نوع داده ای که دارید باید مقدار int یا String از کرسر دریافت کنید
Snumber = Mycursor.getString(Mycursor.getColumnIndex('//نام فیلد دیتابیستون'))
}
0 0
یه دنیا ممنون، نمیدونم چرا چیزه به این سادگی از ذهنم رفته بود. متشکرم (6 سال پیش)

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