相关疑难解决方法(0)

我怎样才能检查我的sqlite表中是否有数据?

编辑,根据下面的答案稍微改变了代码,但仍然没有工作.我还添加了一条日志消息,告诉我getCount是否返回> 0,它是,所以我认为我的查询可能有问题?或者我使用光标..

我已经创建了一个表,我想检查它是否为空,如果它是空的,我想运行一些插入语句(存储在数组中).

下面是我的代码,虽然我没有错误,当我拉出.db文件时,我可以看到它不起作用.你会如何解决这个问题?

public void onCreate(SQLiteDatabase db) {
        Log.i("DB onCreate", "Creating the database...");//log message
        db.execSQL(createCATBUDTAB);
        db.execSQL(createTWOWEETAB);
        try{
            Cursor cur = db.rawQuery("SELECT COUNT(*) FROM CAT_BUD_TAB", null);
        if (cur.getCount() > 0){
            Log.i("DB getCount", " getcount greater than 0");//log message
            //do nothing everything's as it should be
        }
        else{//put in these insert statements contained in the array
            Log.i("DB getCount", " getcount less than 0, should read array");//log message
            for(int i=0; i<13; i++){
                db.execSQL(catInsertArray[i]);
            }
        }
        }catch(SQLiteException e){System.err.println("Exception @ rawQuery: " + e.getMessage());} …
Run Code Online (Sandbox Code Playgroud)

java sql database sqlite android

12
推荐指数
3
解决办法
4万
查看次数

Android with Sqlite - 如何检查表是否存在以及是否为空

如果表格不存在或表格内容为空,我想显示一个警报框。

要检查表是否为空,我正在使用:

        cCheckDB = db.rawQuery("SELECT COUNT(*) FROM " + MainActivity.TABLE_NAME +"", null);

        if (cCheckDB != null) {
            cCheckDB.moveToFirst();

            if (cCheckDB.getInt (0) == 0) {
                // EMPTY
            }
        }
Run Code Online (Sandbox Code Playgroud)

但是如何将其包装在“如果表存在”中?什么是最好的方法?

我知道两种检查表是否存在或检查其中是否有内容的方法。但是,如果可能的话,我想以一种有意义的方式而不是在单个查询中使用这些检查——这是我的问题。

sqlite alert android android-studio

3
推荐指数
1
解决办法
4680
查看次数

标签 统计

android ×2

sqlite ×2

alert ×1

android-studio ×1

database ×1

java ×1

sql ×1