繁体   English   中英

从android中的Sqlite数据库中检索null值

[英]Retrieving the null value from Sqlite database in android

伙计们我已经在sqlite数据库的列中存储了一个空值

存储的值是return "null"

现在使用以下代码来检索它

int i = resultSet.getInt(resultSet.getColumnIndex(columnName));
String str = resultSet.getString(resultSet.getColumnIndex(columnName));
boolean bool = resultSet.isNull(resultSet.getColumnIndex(columnName));

if( str == null ) {
    return -1;
}            
return i;

调试器显示str = "null"的值

但是这个条件不适用于str == null , str == "" , str == "null"

任何人都可以给我一个什么做点什么..

resultset.isNull给了我一个false的值。

那么如何在数据库中存储null,其次如果我使用“null”那么我怎样才能使这个条件工作。

如果您在数据库中存储了“null”文字字符串,那么您可以像这样比较它 -

if ( "null".equals(str) )

要在数据库表中存储空值,请使用PreparedStatement.setNull()

resultset.isNull也给了我一个false的值。

如果你的value = null,resultset.isNull将给出true。 但正如你所说的你的值=“null”,这是一个字符串。

调试器显示str =“null”的值

但是这个条件不适用于str == null,str ==“”,str ==“null”

尝试与str.equals(“null”)进行比较

mDb.execSQL(updateQuery,valVars); 使用this和null作为存储在valVar中的参数之一但它给出了空指针异常的错误

http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html上分类时,应使用此方法 - 执行不是SELECT / INSERT / UPDATE / DELETE的单个SQL语句。

请尝试使用update(String表,ContentValues值,String whereClause,String [] whereArgs)或updateWithOnConflict(String表,ContentValues值,String whereClause,String [] whereArgs,int conflictAlgorithm)。 还请交叉验证db中的字段是否允许NULL(即Not Null = 0)

希望这可以帮助 :)

检查String length.like,

if(str.length == 0){}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM