PDA

View Full Version : خطا در ثبت اطلاعات در sqlite



Mostafa_
چهارشنبه 01 شهریور 1396, 21:36 عصر
سلام خدمت دوستان
یه مشکل کوچیک داشتم

من یه فرم لاگین درست کردم
قراره وقتی کاربر نام کاربری و کلمه عبور رو وارد کرد و از طرف سرور چک شد
اگه وجود داشت
اطلاعاتش توی دیتابیس داخیلی نرم افزار Sqlite ذخیره بشه

از طرف سرور مشکلی ندارم و به درستی کار میکنه
اما قسمت دوم ،، اولش که هیچ اتفاقی نمی افتاد ،،
الان ارور میده،،، نمیدونم مشکل از کجاست

این کدی هست که نوشتم برای دکمه



boolean l = db.LoginSaveValue(LoginUserName,Loginpassword);
if (l==true) {finish();}





اینم کدی هست که توی کلاس db یا databasehandler نوشتم


public boolean LoginSaveValue(String username , String password){
SQLiteDatabase mdb = this.getWritableDatabase();
ContentValues cv=new ContentValues();
cv.put(Username,username);
cv.put(Password,password);
cv.put(UserImg,"0");
cv.put(UserPhoneNum,"0");
cv.put(LastLogin,"0");
cv.put(IsLogin,"0");
long result = mdb.insert(DB_TBL_USER,null,cv);
if(result==-1)return false;else return true;
}






08-23 14:35:03.920 23243-23243/ir.mostafa.en_bookshop E/SQLiteLog: (1) no such table: users
08-23 14:35:03.921 23243-23243/ir.mostafa.en_bookshop E/SQLiteDatabase: Error inserting LastLogin=23434 Username=morteza UserPhoneNum=sdsadadas IsLogin='sfgsf' UserImg=amir Password=amirhaghi
android.database.sqlite.SQLiteException: no such table: users (code 1): , while compiling: INSERT INTO users(LastLogin,Username,UserPhoneNum,IsLogin,User Img,Password) VALUES (?,?,?,?,?,?)
at android.database.sqlite.SQLiteConnection.nativePre pareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePr eparedStatement(SQLiteConnection.java:889)
at android.database.sqlite.SQLiteConnection.prepare(S QLiteConnection.java:500)
at android.database.sqlite.SQLiteSession.prepare(SQLi teSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.insertWithO nConflict(SQLiteDatabase.java:1469)
at android.database.sqlite.SQLiteDatabase.insert(SQLi teDatabase.java:1341)
at ir.mostafa.en_bookshop.mydbhelper.LoginSaveValue(m ydbhelper.java:133)
at ir.mostafa.en_bookshop.LoginUser$1.onResponse(Logi nUser.java:98)
at ir.mostafa.en_bookshop.LoginUser$1.onResponse(Logi nUser.java:91)
at com.android.volley.toolbox.StringRequest.deliverRe sponse(StringRequest.java:67)
at com.android.volley.toolbox.StringRequest.deliverRe sponse(StringRequest.java:30)
at com.android.volley.ExecutorDelivery$ResponseDelive ryRunnable.run(ExecutorDelivery.java:99)
at android.os.Handler.handleCallback(Handler.java:739 )
at android.os.Handler.dispatchMessage(Handler.java:95 )
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.jav a:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:698)




خط اولش میگه تیبل users پیدا نشد ،، درصورتی که هست
و کلا ارتباط با دیتابییس برقرار میشه ،، چون جای دگ ، یه دستور Select نوشتم و اجرا میشه به درستی
ممنون میشم ارهنمایی کنین
تشکر

Mostafa_
پنج شنبه 02 شهریور 1396, 18:53 عصر
دوستان راهنمایی لطفا

#root#
پنج شنبه 02 شهریور 1396, 20:49 عصر
از کجا مطمئن هستین که جدول مورد نظر ساخته شده؟

توی پروژه ها میتونید از این کتابخونه ها برای دیباگ دیتابیس و سایر موارد استفاده کنید:


https://github.com/amitshekhariitbhu/Android-Debug-Database
http://facebook.github.io/stetho/

Mostafa_
جمعه 03 شهریور 1396, 12:58 عصر
از کجا مطمئن هستین که جدول مورد نظر ساخته شده؟

توی پروژه ها میتونید از این کتابخونه ها برای دیباگ دیتابیس و سایر موارد استفاده کنید:


https://github.com/amitshekhariitbhu/Android-Debug-Database
http://facebook.github.io/stetho/


سلام
ممنون از راهنماییت
والا راستش من از افزونه sqlite manager توی فایرفاکس اسفتاه میکنم
با اون تیبل یوزر رو درست کردم ،،، توش دستی مقدار هم اضافه کردم
اما باز خطا میده که همچین تیبلی وجود نداره
توی try و catch هم تایین کردم که اگه وجود نداشت اون رو بساز و بعد دستور رو اجرا کن
اما بازم خطا میده !!!!!
------------------------------------------------------
اما درباره راهنمایی که کردی
این رو چطور میشه ازش استفاده کرد ؟؟؟
مرحله به مرحله پیش رفتم اما متوجه نشدم باید چه کنم
از ادرس گیت هاب استفاده کردم
ممنون