مشکل در کد لاگین به برنامه (مشکل این کد چیه؟)
دستور query که نوشتی مشکل داره چون در قسمت where user_id ، شرطت کامل نیست
فکر کنم بهتره بصورت زیر بنویسی :
به جای txtuseremail مقداری که کاربر وارد کرده رو باید درج کنی
select * from tableName where useremail='txtuseremail' Limit 1;
اینو باید کجا بنویسم؟ توی قسمت select نوشتم کرش کرد
به این شکل هم مینویسم، هیچ کاری انجام نمیده
Cursor cursor = G.database.rawQuery("select * FROM interuser WHERE user_id='" + txtuserid.getText() + "'", null);
ایمیل و id
البته بر اساس id لاگین میکنه کدش هم اون بالا مگه نیست؟
البته فعلا بر اساس id لاگین میکنه. این که درست شد، مال ایمیل رو هم مینویسم
معمولا نام کاربری و کلمه عبور رو میگیرن برای لاگین
ابتدا داده وارد شده توسط کاربر رو بگیر و در لوگ کت چاپ کن ببین اصلا دریافت میکنی یا نه ؟
بعد هم شرط رو بصورت زیر بنویس درست قبل از while
Cursor cursor = G.database.rawQuery("select * FROM interuser WHERE user_id='" + txtuserid.getText() + "' LIMIT 1", null);
در دستور if بزار
if(cursor.count()==1) // user vojod dare
else // id ya ramz eshtebahe
با توجه به عکسی که در اول صفحه گذاشتین : مشکل شما مربوط به اصول برنامه نویسی جاوا هستش جایی که باید برای بررسی تساوی دو رشته از متد equals استفاده کنید نه ==
البته این یه مشکلی بود که من فهمیدم ممکنه بازم نکته ای دیگه هم باشه.
String a = "ali";
String b = "ali";
if(a.equals(b)){
System.out.println("they are same");
}
من تو کدت 4 تا اشکال دیدم :
1- یه اشکال این که اگه id عدده و توی دیتابیس هم عددی تعریف شده کوئری ت نیاز به ' نداره .
2- یه اشکال دیگه با توجه به عکسی که 2 تا جواب قبلتر گذاشتی یه متغییر ت رو مقداردهی نکردی که ارور nullpointerException میده. مطمئن شو که database ت حتما مقداردهی شده باشه . (شاید توی یه if ی چیزی گذاشتیش که مقداردهی نمیشه)
3- یه چیز دیگه همیشه از trim و toLowerCase برای دریافت مقادیر استفاده کن تا اگه کاربر یه space اضافه درج کرد، نادیده گرفته بشه و همه حروف هم با حرف کوچیک انگلیسی نوشته بشن.
4- یه اشکال دیگه هم که spirit عزیز گفت
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .

