android - 在 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;
}
}
解决方案
可能是您的表已经在您的应用程序中创建。尝试从应用程序设置中清除数据并再次运行应用程序或使用适当的迁移代码增加数据库版本号。
推荐阅读
- python - 通过python中的线程访问导入模块的locals()
- css - React-Native 文本不在两行上
- javascript - 即使在 Firefox 中更改,也会自动上传本地文件
- ios - 将图像保存到特定相册,但限制保存到相机胶卷文件夹
- mongodb - 使用会话的官方 mongo-go-driver
- imagemagick - Imagemagick FailedToExecuteCommand `"gswin32c.exe"
- swift - 条件绑定的初始化器必须具有 Optional 类型,即使它是 Optional 类型
- python - 在同一个 Python 进程中运行多个 Tensorflow 会话时出错
- spring - 同步 Spring Boot 上下文启动
- vue.js - 将一些 Vue 代码绑定到现有的服务器端生成的 HTML