首页 > 解决方案 > 在 Android SQlite 数据库中我收到此错误:E/SQLiteLog: (1) 表 tbl_Individual_Registration 没有名为 MobileNo 的列

问题描述

这是我的代码:

(1) 创建数据库:

public class DataBaseHelper extends SQLiteOpenHelper
{
    public static final int DATABASE_VERSION = 1;
    public static final String LOGCAT = null;
    public static final String DATABASE_NAME = "BLOOD_PROJECT";
    public static final String TABLE_NAME = "tbl_Individual_Donor_Registration";
    public static final String COL_1 = "Id";
    public static final String COL_2 = "Name";
    public static final String COL_3 = "Password";
    public static final String COL_4 = "BloodGroup";
    public static final String COL_5 = "BloodQuantity";
    public static final String COL_6 = "MobileNo";
}

(2)创建表:

@Override
public void onCreate(SQLiteDatabase db)
{
    String CREATE_TABLE_Individual_Donor_Registration = "CREATE TABLE " + TABLE_NAME + "(" + COL_1 + "INTEGER PRIMARY KEY AUTOINCREMENT," + COL_2 + " TEXT, " + COL_3 + " TEXT, " + COL_4 + " TEXT, "+COL_5 + " TEXT, " + COL_6  + " TEXT" + ")";
    db.execSQL(CREATE_TABLE_Individual_Donor_Registration);
}

(3)添加用户数据:

public boolean addUser(IndiviualUser user)
{
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues cv = new ContentValues();

    cv.put(COL_2,user.getName());
    cv.put(COL_3,user.getPassword());
    cv.put(COL_4,user.getBlood_Group());
    cv.put(COL_5,user.getBlood_Quantity());
    cv.put(COL_6,user.getMobile_No());
    long result = db.insert(TABLE_NAME,null, cv);
    db.close();

    if(result == -1)
    {
        return false;
    }else
    {
        return true;
    }
}

标签: android

解决方案


可能是您的表已经在您的应用程序中创建。尝试从应用程序设置中清除数据并再次运行应用程序或使用适当的迁移代码增加数据库版本号。


推荐阅读