如何检查SQLite数据库的列是否为空

时间:2013-05-17 08:55:10

标签: android database sqlite

我无法获得可靠的结果来判断数据库的列是否为空。我尝试使用查询检查以查看数据库的列是否返回null或字符串值为""但无论我做什么,我的检查结果都会返回一个结果,即该列中存有某些内容,即使它是空的。

要确保它为空,我会从应用程序中删除所有数据并从设备中卸载它。这样我知道数据库列是空的

有没有更好的方法来检查特定列是否为空?

如果之前从未在新创建的数据库中使用过列,那么该列中的内容是什么?它是null还是系统作为占位符放入了什么?

displayAll.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {

        textToShow.setText(DisplayAllFieldsObjectFromDB());
        if (DisplayAllFieldsObjectFromDB() == null) {
            Toast.makeText(DisplayTable.this, "TABLE NULL ", Toast.LENGTH_SHORT).show();

        } else if (DisplayAllFieldsObjectFromDB() != null) {
            Toast.makeText(DisplayTable.this, "TABLE HOLDS A VALUE ", Toast.LENGTH_SHORT).show();

        } else if (DisplayAllFieldsObjectFromDB().equals("")) {
            Toast.makeText(DisplayTable.this, "TABLE HOLDS EMPTY QUOTES VALUE ", Toast.LENGTH_SHORT).show();
        }

    }
});

数据库表中的代码

// display all data from table
public String getAllFromDB() {

    String tableString = "";

    String result = "";
    Cursor cursor = sqLiteDatabase.query(MYDATABASE_TABLE, null,
        null, null, null, null, null);
    if (cursor != null) {
        // cursor.moveToFirst(); // use only this for getting one row
        while (cursor.moveToNext()) { // use only this for getting multiple rows
            tableString = cursor.getString(cursor.getColumnIndex(TABLE_STRING));
            result += tableString + "\n";
        }
    }    
    return result;    
}

1 个答案:

答案 0 :(得分:2)

阅读documentation:游标对象具有isNull功能。