0

我无法获得可靠的结果来判断数据库的列是否为空。我尝试使用查询检查来查看数据库的列是否返回 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;    
}
4

1 回答 1

3

阅读文档:游标对象有一个isNull功能。

于 2013-05-17T09:11:29.217 回答