我正在使用一个简单的数据库。它有三列。 _id(整数主键自动增量),jobnumber(text unique not null)和jobpart(text not null)。
我正在使用带有两个EditText小部件的对话框来获取输入,按下按钮后将其添加到数据库中。
当我输入作业编号但将作业部分留空时,我希望不会添加该记录。但是,它正在添加,我得到一个空白的工作部分。我正在使用“插入”。看,我想也许我需要使用“insertWithOnConflict”代替,但这似乎没有什么区别,同样的事情发生了。
我的下一个想法可能是一个空字符串不算作空值,所以我尝试了以下内容:
if (jobpart == "") {
jobpart1 = null;
}else{
jobpart1 = jobpart;
}
同样的事情发生了,数据库甚至没有打嗝并且插入一个空槽。
所以我开始查看SQL文档。我想知道是否需要将db设置为严格模式,因为可能正在使用隐式默认值?虽然我发现与服务器相关的部分,所以我不确定它是否适用于此,如果确实如此,我将如何以及何时执行此操作。 (在db创建时?在db打开?)。
任何指示赞赏。
答案 0 :(得分:3)
比较字符串时,您需要使用equals()
方法,而不是==
因为String
是一个对象,所以==
只是比较指针。
即。你想要:
if (jobpart.equals("")) {
答案 1 :(得分:2)
试试这个
if (jobpart.matches("")) {
jobpart1 = null;
}else{
jobpart1 = jobpart;
}
或者您可以确保他们在edittexts中输入内容