|
关于KSQL的命名参数应该怎么写?我这样写不对吗,代码如下
public static void exstockScanBeforeSaveCE_ZCSMAction()throws NamingException,SQLException {
//保存日志时检查,所扫描配送单是否与派车一致,是的话更新派送计划的提货出库时间
Table t = (Table)ContextHelper.getActionContext().getParameters().get("table");
Iterator<Row> rows = t.iterator();
String selectSql = "SELECT CE_PSDD FROM CE_PSDD WHERE CE_PSDD=:psd and FPSCP=:cph and FPSSJ=:sj";
String updateSql = "UPDATE CE_PSDD SET fTHCKSJ=:currentDateTime() WHERE CE_PSDD=:psd ";
HashMap<String,Object> arg = new HashMap<String,Object>();
while(rows.hasNext()){
Row row = rows.next();
arg.put("psd", row.getValue("fPSD"));
arg.put("cph", row.getValue("fCPH"));
arg.put("sj", row.getValue("fSJ"));
Table result=KSQL.select(selectSql, arg, "/cems/dcOrder/data", null);
if(result.size()==0)
throw new SQLException("所扫描配送单不是计划内装车货物,请注意!");
else{
KSQL.executeUpdate(updateSql, arg, "/cems/dcOrder/data", null);
}
}
结果报错:
保存数据失败! ,
执行KSQL出错, KSQL: SELECT CE_PSDD FROM CE_PSDD WHERE CE_PSDD=:psd
--> sql:
--> binds: []
编码:JUSTEP150210
后台错误:
Caused by: com.justep.exception.KSQLException: 编码: JUSTEP154115; 提示: KSQL语法错误, D FROM CE_PSDD ^^WHERE CE_PSDD=:中未找到需要的元素, 位置28期望是<Identifier>
at com.justep.exception.KSQLException.create(Unknown Source)
at com.justep.system.ksql.token.TokenManager.matchToken(Unknown Source)
at com.justep.system.ksql.token.TokenManager.match(Unknown Source)
at com.justep.system.ksql.parser.AbstractParser.conceptDeclare(Unknown Source)
|
|