Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更新查询不使用OrientDB中的eval()函数和参数_Java_Orientdb - Fatal编程技术网

Java 更新查询不使用OrientDB中的eval()函数和参数

Java 更新查询不使用OrientDB中的eval()函数和参数,java,orientdb,Java,Orientdb,在我的项目中,我正在使用Orientdb,更新查询中存在一些问题 int amt = 100; int recordsUpdated = db.command(new OCommandSQL("update A set id = eval('id - "+ amt +"') where eval('id - "+amt+"') > 0")).execute(); 这很好用。但是, int recordsUpdated = db.command(new OCommandSQL("updat

在我的项目中,我正在使用Orientdb,更新查询中存在一些问题

int amt = 100;
int recordsUpdated = db.command(new OCommandSQL("update A set id = eval('id - "+ amt +"') where eval('id - "+amt+"') > 0")).execute();
这很好用。但是,

int recordsUpdated = db.command(new OCommandSQL("update A set id = eval('id - ?') where eval('id - ?') > 0")).execute(100,100);

Map params=newhashmap();
参数卖出价(“金额”、“100”);
int recordsUpdated=db.command(新的OCommandSQL(“更新集合id=eval('id-:amt'),其中eval('id-:amt')>0”)。执行(参数);
它不起作用。
请帮我做些工作。

在SQL中,变量的替换并不适用于所有地方,特别是在字符串中。您可以像第一个示例中那样计算该值,或者尝试使用上下文变量,例如:

OCommandSQL cmd = new OCommandSQL("update A set id = eval('id - $id') where eval('id - $id') > 0");
cmd.getContext().setVariable( "id", 100 );
int recordsUpdated = db.command(cmd).execute();
OCommandSQL cmd = new OCommandSQL("update A set id = eval('id - $id') where eval('id - $id') > 0");
cmd.getContext().setVariable( "id", 100 );
int recordsUpdated = db.command(cmd).execute();