0

java 道代码:-

            String[] stringsArray = new String [] { "LC1", "LC2", "LC3" };

            CallableStatement cs = sqlpluscon.prepareCall("{call Get_Machine_Wise_OEE(?,?,?,?)}");
            cs.setString(1, machineparameter.getStartDate());
            cs.setString(2, machineparameter.getEndDate());
            cs.setString(3, machineparameter.getShift());

            cs.setArray(4, stringsArray); /* want to pass String Array */

错误 :-

PreparedStatement 类型中的方法 setArray(int, Array) 不适用于参数 (int, String[])

详细信息:- 使用 jdbc odbc 与 aspen sqlplus 连接,在使用变量(不是数组)调用时相同,它工作正常。但使用字符串数组无法调用过程。我请求你请提供解决方案我尝试了很多次仍然无法打电话。

4

1 回答 1

0

只需如下更改最后一行,其中typeName特定于数组包含的元素类型。如果它的字符串我们可以传递varchartext用于 MySQL。

final java.sql.Array sqlArray = con.createArrayOf(typeName , stringsArray);
cs.setArray(4, sqlArray); 
于 2016-07-28T07:17:51.673 回答