应该是这个:<>
能不能不要只贴个图?讲点中文啊。
确切的说,文字不要截图,用代码框。
List<Stand> list = dataManager.load(Stand.class)
.query("select e from edyj_Stand e where e.standName = :standName and e.standCode <>:standCode")
.parameter("standName", event.getValue())
.parameter("standCode", standCode)
.list();
这样写不对呀
报了什么错误呢?
不报错,只是查询结果不对
standCode是什么类型
String类型的,不是int
那你详细说说你要什么结果,实际出来什么结果,standCode传的什么值,数据库里什么值。
或者先把e.standCode <>:standCode
这个条件去掉, 看看结果符合预期么,然后再加上这个条件看原因。
想实现一个在添加一条数据时,如果这条数据的名称已经存在就提示该名称已存在,用的方法是在名称的输入框添加响应事件
@Subscribe("standNameField")
private void onStandNameFieldValueChange(HasValue.ValueChangeEvent<String> event) {
if (event.getValue() != null) {
List<Stand> list = dataManager.load(Stand.class)
.query("select e from edyj_Stand e where e.standName = :standName")
.parameter("standName", event.getValue())
.list();
if (list.size()> 0) {
int a=list.size();
dialogs.createMessageDialog().withCaption("提示信息").withMessage("名称重复").show();
}
}
但是这样,编辑这条数据的时候也会弹出该名称已经存在的弹框
所以,为了判断当前是编辑界面而不是新增界面,就想用当前的名称和Code在数据库中存在的时候就是编辑界面。当前名称存在但code不存在为新增界面
有没有什么方法能够直接判断当前界面是新增界面还是编辑界面
我理解应该能知道是什么action, 但我没查。
我知道PersistenceHelper可以判断当前实体的状态,isNew()就是新增。类似这样 if (PersistenceHelper.isNew(getItem()))