gpt4 book ai didi

android SQLite 不遵守 "not null"约束

转载 作者:行者123 更新时间:2023-11-29 15:28:55 25 4
gpt4 key购买 nike

我正在使用一个简单的数据库。它有三列。 _id(整数主键自增)、jobnumber(文本唯一不为空)和 jobpart(文本不为空)。

我正在使用带有两个 EditText 小部件的对话框来获取输入,然后按下按钮将其添加到数据库中。

当我输入工作编号但将工作部分留空时,我希望不会添加记录。但是,它正在添加,我得到一个空白的作业部分。我正在使用“插入”。看起来,我想也许我需要改用“insertWithOnConflict”,但这似乎没有什么不同,同样的事情发生了。

我的下一个想法是空字符串可能不算作空值,所以我尝试了以下操作:

if (jobpart == "") {
jobpart1 = null;
}else{
jobpart1 = jobpart;
}

同样的事情发生了,数据库甚至没有打嗝并放入一个空槽。

所以我开始浏览 SQL 文档。我想知道是否需要将数据库设置为严格模式,因为可能正在使用隐式默认设置?尽管我发现这部分与服务器相关,所以我不确定它是否适用于此,如果适用,我将如何以及何时执行。 (在数据库创建时?在数据库打开时?)。

感谢任何指点。

最佳答案

当你比较字符串时,你需要使用 equals() 方法,而不是 == 因为 String 是一个对象所以 == 只是比较指针。

即你想要:

if (jobpart.equals("")) {

关于android SQLite 不遵守 "not null"约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8963783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com