تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ سجاد افتخاری
عدم اضافه شدن دیتا در SQlite
جامعه جاوا (اندروید) ایجاد شده در ۱۶ دی ۱۳۹۹

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

سلام و احترام

 

در کلاس Task که model ما هستش چک کنید که ColumnInfo رو به درستی ست کرده باشید:

@ColumnInfo(name = "completed")
    private boolean isCompleted;

و سپس کلاس SQliteHelper  خط ۴۳ رو چک کنید (چیزی که در logcat گفته شده) و متد addTask رو چک کنید که contentValues مربوط به completed به درستی مقدار دهی کرده باشید.

و همینطور متدonCreate مربوط به SQliteHelper رو چک کنید که column مربوط به completed رو اضافه کرده باشید یعنی : completed Boolean رو در execSQL ست کرده باشید.

موفق و سالم باشین

 

پوریا شفیعی ۱۶ دی ۱۳۹۹، ۰۹:۴۲

آقا پوریا من چک کردم همشون اوکی بود ولی ارور میده بازم.شما هم چک کنین بی زحمت کدای منو..شاید من اشتباه میکنم.

سجاد افتخاری ۱۶ دی ۱۳۹۹، ۱۰:۵۱

کدتون رو بررسی کردم همونطور که در قسمت بالا توضیح دادم برای model تون که Task باشه columnInfo رو ست نکرده بودید و همینطور primaryKey برای id ست نکرده بودید چرا که id باید یکتا باشد .

یعنی:


import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;
@Entity(tableName = "tbl_tasks")
public class Task {
    @PrimaryKey(autoGenerate = true)
    private long id;
    private String title;
    @ColumnInfo(name = "completed")
    private boolean isCompleted;
    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id = id;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public boolean isCompleted() {
        return isCompleted;
    }
    public void setCompleted(boolean completed) {
        isCompleted = completed;
    }
}

 

 

 

 

پوریا شفیعی ۱۶ دی ۱۳۹۹، ۱۲:۵۲