Java activejdbc update in子句不工作

Java activejdbc update in子句不工作,java,activejdbc,Java,Activejdbc,我想使用activejdbc更新多个记录 Person.update("name = ?, last_name = ?", "name in ?", "Steve", "Johnson", "jagadeesh,varma,jampana,vikash"); 没有错误,但数据库中没有更新任何内容。问题与中的子句有关。 您正在按照条款要求传递“jagadeesh、varma、jampana、vikash”而不是(“jagadeesh”、“varma”、“jampana”、“vikash”) 此解

我想使用activejdbc更新多个记录

Person.update("name = ?, last_name = ?", "name in ?", "Steve", "Johnson", "jagadeesh,varma,jampana,vikash");

没有错误,但数据库中没有更新任何内容。问题与中的子句有关。 您正在按照条款要求传递“jagadeesh、varma、jampana、vikash”而不是(“jagadeesh”、“varma”、“jampana”、“vikash”)

此解决方案应能解决您的问题:

Person.update("name = ?, last_name = ?", "name in ('jagadeesh','varma','jampana','vikash')", "Steve", "Johnson");

问题与子句中的
有关。
您正在按照条款要求传递“jagadeesh、varma、jampana、vikash”而不是(“jagadeesh”、“varma”、“jampana”、“vikash”)

此解决方案应能解决您的问题:

Person.update("name = ?, last_name = ?", "name in ('jagadeesh','varma','jampana','vikash')", "Steve", "Johnson");

这不是ActiveJDBC框架的问题,而是JDBC标准不支持的问题。有关更多信息,请参见本页:

您需要连接字符串:

List names = Util.list("jagadeesh","varma","jampana","vikash");
List<Person> people = Person.update(name = ?, last_name = ?", "name IN ('" + Util.join(names, "', '") + "')", "John", "Doe");
List name=Util.List(“jagadeesh”、“varma”、“jampana”、“vikash”);
List people=Person.update(name=?,last_name=?”,“name IN('”+Util.join(names,“,”)+”),“John”,“Doe”);

不幸的是,如果您正在构建web应用程序,这可能会导致SQL注入攻击,因此请小心。

这不是ActiveJDBC框架的问题,而是JDBC标准不支持的问题。有关详细信息,请参阅此页:

您需要连接字符串:

List names = Util.list("jagadeesh","varma","jampana","vikash");
List<Person> people = Person.update(name = ?, last_name = ?", "name IN ('" + Util.join(names, "', '") + "')", "John", "Doe");
List name=Util.List(“jagadeesh”、“varma”、“jampana”、“vikash”);
List people=Person.update(name=?,last_name=?”,“name IN('”+Util.join(names,“,”)+”),“John”,“Doe”);

不幸的是,如果您正在构建一个web应用程序,这可能会导致SQL注入攻击,所以要小心

update
方法返回更新的行数,请告诉我们您的呼叫返回。您使用的是哪个数据库?我认为问题与
in
子句中的
有关,请看一下:
update
方法返回更新的行数,您能告诉我们您的调用返回值吗?您使用的是哪个数据库?我想问题与
子句中的
有关,看看这个:谢谢ipolevoy,我没有得到你的答案,在上面的代码中你没有更新任何东西。有没有其他方法来更新具体的字段呢?@vladwoguer给出了相同的答案,我投票给了toothanks ipolevoy,我没有得到你的答案,在上面的代码中你没有更新任何东西。是否有其他方法可以更新子句中使用的特定字段?答案与@vladwoguer给出的答案相同,我在这里选中了它。我相信你的记录是“Jagadeesh”而不是“Jagadeesh”,所以应该是
Person.update(“name=?,last_name=?”,“name in('Jagadeesh','Varma','Jampana','Vikash'),“Steve”,“Johnson”)我在这里检查过了,没问题。我相信你的记录是“Jagadeesh”而不是“Jagadeesh”,所以应该是
Person.update(“name=?,last_name=?”,“name in('Jagadeesh','Varma','Jampana','Vikash'),“Steve”,“Johnson”)