ورود

View Full Version : خطاهای insert درون دیتابیس



hamedg1366
شنبه 06 تیر 1394, 23:42 عصر
با سلام خدمت همه دوستان عزیز

در برنامه از دیتابیس اماده استفاده میکنم ، با کمک دستور زیر اطلاعات جدیدی را بدان اضافه میکنم


public void insert(String id,String user,String matn){

ContentValues cv=new ContentValues();
cv.put("ID", id);
cv.put("username", user);
cv.put("matn", matn);
mydb.insert("content", null, cv);


}



اطلاعات اضافه میشوند اما در LogCat پیغام های زیر بصورت قرمز رنگ دارم ! و نمیدونم چی هستن !؟ لطفا راهنمائی بفرمائید منظور نیت اکلیپس از این پیغامها چیه !


(نا گفته نماند دیتابیس را باز و بسته میکنم )




android.database.sqlite.DatabaseObjectNotClosedExc eption: Application did not close the cursor or database object that was opened here
android.database.sqlite.DatabaseObjectNotClosedExc eption: Application did not close the cursor or database object that was opened here
at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1943)
at android.database.sqlite.SQLiteDatabase.openDatabas e(SQLiteDatabase.java:1007)
at android.database.sqlite.SQLiteDatabase.openDatabas e(SQLiteDatabase.java:986)
at android.database.sqlite.SQLiteDatabase.openDatabas e(SQLiteDatabase.java:962)
at android.app.Activity.performCreate(Activity.java:4 465)
at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:1920)
at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:1981)
at android.app.ActivityThread.access$600(ActivityThre ad.java:123)
at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1147)
at android.os.Handler.dispatchMessage(Handler.java:99 )
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.jav a:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551)
at dalvik.system.NativeStart.main(Native Method)

ahmad abdoli
یک شنبه 07 تیر 1394, 02:00 صبح
سلام

دوست عزیز شما باید دیتابیستون رو بصورت SQLiteDatabase.OPEN_READWRITE باز کنید

public void open() {
mydb = SQLiteDatabase.openDatabase(path + Name, null, SQLiteDatabase.OPEN_READWRITE);
}

hamedg1366
یک شنبه 07 تیر 1394, 09:14 صبح
با تشکر از پاسخ شما دوست عزیز ؛؛

دیتابیس رو بصورت SQLiteDatabase.OPEN_READWRITE باز میکنم.

sobhmoud
دوشنبه 08 تیر 1394, 03:04 صبح
سلام
وقتی بازش می کنید باید دیتابیس رو ببندید.
فکر کنم خطای شما بخاطر اینه که یکجایی دیتابیس رو باز کردید و بعدش نبستید و دوباره اومدین بازش کردین .
دستور بستن دیتابیس
mydb.close();

tux-world
دوشنبه 08 تیر 1394, 08:43 صبح
مشکل از insert نیست. مشکل از نوع استفاده باز کردن دیتابیس و بستن اون هستش. ممکنه cursor رو نبسته باشید. خودش داره میگه کجای کد مشکل داره