原因是:创建数据库的时候数据库的名字 写成了
context.getPackageName()这是个路径 所以数据库就没有创建成功
private HtDBManager(Context context) {
if (daoSession == null) {
if (daoMaster == null) {
DaoMaster.OpenHelper helper = new DaoMaster.DevOpenHelper(context, context.getPackageName(), null);
daoMaster = new DaoMaster(helper.getWritableDatabase());
daoSession = daoMaster.newSession();
mTreasureDao = daoSession.getTreasureBeanDao();
解决:把context.getPackageName() 改成 “greendao.db” ,然后卸载app重新执行,即成功
今天使用greendao实现数据库增删改查,可是在插入数据的时候崩溃了,错误是 no such table *** , 如下图:原因是:创建数据库的时候数据库的名字 写成了context.getPackageName()这是个路径 所以数据库就没有创建成功private HtDBManager(Context context) { if (daoSes
网上搜了各种方法:卸载重新安装、升级本地库版本 都无效,最终解决办法如下(https://www.icode9.com/content-2-652100.html),mark一下
CashierDBHelper helper = new CashierDBHelper(this, "main.db");
SQLiteDatabase db = helper.getWritableDatabase();
//在初始化greenDao的地方加上这一行
db.disableWriteAheadLogging.
出现这个异常是因为没有找到表,没有找到表的原因是之前的表已经建好了,而新增的表需要重新初始化数据库才可以建好,所以只需要把schemaVersion 改变一下版本号,重新sync运行一下就可以重新生成表了,另外修改表中字段都需要重新初始化数据库才会生效。
greendao{
//数据库版本
schemaVersion 2
daoPackage 'com.android.p...
最近在项目即将上线时遇到这个问题,表面上看来很简单
greendao的
数据库表,id字段是唯一的,是因为
插入了id重复的
数据造成的
但是,我们的业务逻辑是,清空
数据库之后,再
插入数据,理论上不可能出现重复id
DaoUtils.getDaoSession().getPurchaseOrder
TableDao().insertInTx(mPurSkuList);
最近安卓项目使用到了greendao,按照流程建表之后却一直报错,说是找不到表,经过一段时间搜索资料,明白了,因为数据不同步,如果排除掉了名字不对应等代码中的问题的话,那么就很可能是这个原因了,手机上APP测试时中数据有残留,所以需要把它先卸载,再重新安装即可。
简单粗暴,先卸载就得了。...
public class Da
taBaseOpenHelper extends SQLiteOpenHelper {
//
数据库版本号
private static int INIT_VERSION = 1;
private static final Stri...
android.database.sqlite.SQLiteException: no such table: FRIEND_CLASS (code 1 SQLITE_ERROR): , while compiling: INSERT OR REPLACE INTO “FRIEND_CLASS” ("_id",“NAME”) VALUES (?,?)
Android:android.databa...
SQLiteLog: (1) no such
table: XXX的解决方法
在使用Litepal来进行
数据库操作时可能在运行时会出现这样的错误提示,如果在采取了网上普遍的方法还未解决的话,可以检查一下实体类,就是与
数据库建立连接的那个类。
下面看我之前的代码
下面展示一些 内联代码片。
public class People extends LitePalSupport implements Comparable<People>{
private String name;
1、创建表格的语句不规范,虽然没保存,但是运行有问题。
2、确认表格都有,语句也没有错误,卸载掉以前的App(特别是虚拟机),然后尝试。
错误,一直显示,没有表,可能是虚拟机的
数据残留之类的问题,所以建议的话,尽量用真机进行测试。
Android Studio可以通过以下方式查询数据:
1. 使用SQLite数据库:Android Studio内置了SQLite数据库,可以使用SQLiteOpenHelper类创建和管理数据库,使用Cursor类查询数据。
2. 使用Content Provider:Content Provider是Android系统提供的一种数据共享机制,可以通过ContentResolver类查询数据。
3. 使用网络请求:可以使用HttpURLConnection或者OkHttp等网络请求库,向服务器发送请求获取数据。
4. 使用第三方库:例如GreenDao、Realm等ORM框架,可以简化数据库操作,提高开发效率。
以上是Android Studio查询数据的几种方式,具体使用方法可以参考相关文档和教程。