如何检查我的 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());}
}
抱歉,如果这是一个非常愚蠢的问题或方法,我是所有这些的新手。任何答案非常感谢!