Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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 记录集不适用于参数(字符串[])——接受多个参数时出错_Java_Excel - Fatal编程技术网

Java 记录集不适用于参数(字符串[])——接受多个参数时出错

Java 记录集不适用于参数(字符串[])——接受多个参数时出错,java,excel,Java,Excel,我曾尝试使用excel作为数据库,我使用了fillo依赖项。 我尝试了一个单一的参数,它工作得很好。但当我尝试使用多个参数时,会弹出以下错误: “类型记录集中的方法getField(String)不适用 对于参数(字符串[])”,错误出现在“multi_数据”上 代码如下: public static void read_by_excel(String query, String field, String ... multi_data) throws FilloException

我曾尝试使用excel作为数据库,我使用了fillo依赖项。 我尝试了一个单一的参数,它工作得很好。但当我尝试使用多个参数时,会弹出以下错误:

“类型记录集中的方法getField(String)不适用 对于参数(字符串[])”,错误出现在“multi_数据”上

代码如下:

public static void read_by_excel(String query, String field, String ... multi_data) throws FilloException
        {

            ArrayList<Object> excel_data = new ArrayList<Object>();
            Fillo fillo = new Fillo();
            Connection connection = fillo.getConnection("C:\\Users\\Vishrut\\Desktop\\read_openxl.xlsx");
            String strQuery = query;
            Recordset rs = connection.executeQuery(strQuery);

            while (rs.next())
            {
                excel_data.add(rs.getField(field)+rs.getField(multi_data));     

            }

            for (Object data: excel_data)
            {
                System.out.println(data);
            }
            rs.close();
            connection.close();
            }

我认为错误信息很清楚,
getField(String)
方法不支持传递数组

从代码中,multi_数据参数是一个数组

String ... multi_data
然后将其传递给getField方法

rs.getField(multi_data)
我将这样做:更改方法签名

public static void read_by_excel(Integer emplyoee_id, String ...fields){
//...
}
然后替换

rs.getField(field) + rs.getField(multi_data)


注意,我假设
getField
返回一个
String
(没有用于fillo的公共API文档,因此无法验证)。请注意,您确实希望执行
rs.getField(field)+rs.getField(multi_data)
操作,但值之间不带分隔符。考虑使用<代码>连接(“,”)< /代码>或其他任何东西。

你能从Read OpLoxxL.xLSx添加员工行吗?雇员60546?50000工资,工资标准:40000,ECE 61171,80000,MCHYE!我明白了,这附近有工作吗?我希望通过将字段名作为参数传递,从excel中获得动态结果。
rs.getField(field) + rs.getField(multi_data)
Stream.of(fields).map(f -> rs.getField(f)).collect(Collectors.joining());