【发布时间】:2012-01-23 03:32:41
【问题描述】:
我正在使用一个简单的数据库。它有三列。 _id(整数主键自增)、jobnumber(文本唯一非空)和jobpart(文本非空)。
我正在使用带有两个 EditText 小部件的对话框来获取输入,并在按下按钮时将其添加到数据库中。
当我输入工作编号但将工作部分留空时,我希望不会添加记录。但是,它正在被添加,我得到一个空白的工作部分。我正在使用“插入”。看,我想也许我需要使用“insertWithOnConflict”,但这似乎没有什么不同,同样的事情发生了。
我的下一个想法可能是一个空字符串不算作空值,所以我尝试了以下方法:
if (jobpart == "") {
jobpart1 = null;
}else{
jobpart1 = jobpart;
}
同样的事情发生了,数据库甚至没有打嗝并放入一个空槽。
所以我开始查看 SQL 文档。我想知道是否需要将数据库设置为严格模式,因为可能正在使用隐式默认值?虽然我发现该部分与服务器有关,但我不确定它是否适用于此,如果适用,我将如何以及何时执行。 (在创建数据库时?在数据库打开时?)。
任何指针表示赞赏。
【问题讨论】:
-
你能贴出你用来插入的代码吗?