[英]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.