Android studio SQLite数据库出错记录

1、错误:no such column: userName

解决:格式错误,类型TEXT前面必须有一个空格!

UserInfoEntry.COLUMN_USER_NAME + " TEXT NOT NULL, " 

2、类型前面全部都添加了空格,仍旧报错:no such column: userName

解决:数据库没有更新,更新版本号。在生产应用程序中,可能会修改此方法以更改表格,而不是删除它,以便不删除现有数据。

新手学习中,尚不知道如何修改。

//如果更改数据库架构,则必须增加数据库版本
private static final int DATABASE_VERSION = 4; 

   @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) {
//        //在onUpgrade中,删除表(如果存在)
        sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + UserInfoEntry.TABLE_NAME);
//        //调用onCreate并传入SQLiteDatabase(传入onUpgrade)记得更新版本号
        onCreate(sqLiteDatabase);
    }

3、错误:android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1

解决:下标越界,cursor下标从-1开始,而不是0,需要移动,添加if语句。其实还是不太明白,为什么移动到第一个就可以了。

if (cursor.moveToFirst()){
 queryPassword=cursor.getString(cursor.getColumnIndex(UserInfoContract.UserInfoEntry.COLUMN_USER_PASSWORD));
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值