我讀下面一個循環中,從數據庫中的幾個SQL查詢:DB2 SQL錯誤代碼-245約會
{ // start of loop
Map<String, Object> queryRS = this.jdbcTemplate.queryForMap(this.querySql,queryParam);
String query = (String) queryRS.get("QUERY");
// code here as explained below
} // end of loop
查詢返回的可以有任意數量的參數。然而,在他們所有的我必須設置相同的日期作爲參數。
爲此,我計算查詢中字符?
的出現次數,並創建一個Object
數組,其日期重複如下。
String date = '2010-12-31';
int numArgs = StringUtils.countMatches(query, "?");
String[] paramArgs = new String[numArgs];
for (int i = 0; i < numArgs; i++) {
paramArgs[i] = date;
}
在這之後,我執行如下查詢:
SqlRowSet myRowSet = this.jdbcTemplate.queryForRowSet(query,(Object[]) paramArgs);
然而,這是給錯誤時,查詢有一個Date(?)
功能。
com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-245, SQLSTATE=428F5, SQLERRMC=DATE;1, DRIVER=3.64.96
上述錯誤的描述是:
An untyped parameter marker is passed to a function and there are two or more possible candidate functions to resolve to during function resolution.
如何解決這個?
感謝您的閱讀!