Android 捕获NULL和'';如果返回SQL数据库

Android 捕获NULL和'';如果返回SQL数据库,android,sql,null,Android,Sql,Null,要捕获数据库中的空字段,我使用以下代码: int score; if (c.isNull(11)) { score = 100; } else { score = c.getInt(11); } q.setScore(score); 但是,现在看来,当我过去在SQLLite浏览器中意外突出显示一个单元格并将其导出(甚至为空)时,它不再显

要捕获数据库中的空字段,我使用以下代码:

int score;
            if (c.isNull(11)) {
                score = 100;
            } else {
                score = c.getInt(11);
            }
            q.setScore(score);
但是,现在看来,当我过去在SQLLite浏览器中意外突出显示一个单元格并将其导出(甚至为空)时,它不再显示为
NULL
,而是显示为
'
. 我试过
c.getInt(11)='
,但还是不行


关于如何捕获
'
的任何想法?

返回
'
的列将导致
c.getInt
返回0。

如果使用
getInt()
null
和Java中的“空”SQL值变为
0
(因为
null
不是有效的整数值),请使用:


如果这会产生逻辑问题,因为
0
可能意味着上下文中的其他内容,那么您可以在表上运行更新命令,将此特定列中的每个
'
值更改为
-1

是的,这确实是一个解决方案,非常奇怪的是,SQL浏览器使用“”而不是将其保留为NULL。无论如何,谢谢,我想我会将所有内容更新为-1并使用int-score;如果(c.getInt(11)=-1{score=100;}否则{score=c.getInt(11);}q.setScore(score);我想,这样问题就应该解决了。很高兴我能帮上忙,我也会发现
'
怪癖让人沮丧。它可能只是一个输入错误,但在测试
if(c.getInt(11)=-1)
中的相等性时,请记住使用
=
而不是
=
。确实,只是一个输入错误:)。谢谢你的帮助,山姆!您还可以更改查询本身:
selectnullif(mycl',)…
甚至
selectcoalesce(NULLIF(mycl',),100)…
if(c.getInt(11) == 0)