Java 查询.csv文件错误提示:Invalid column name提示问题

来源:互联网 发布:php 剔除数组元素 编辑:程序博客网 时间:2024/06/10 08:10

在做一个Java查询.csv文件时,在.csv文件的第一行是表头,根据csv操作文档说明编写代码,表是找到了,可是总是提示

Invalid column name

org.relique.jdbc.csv.CsvStatement.executeQuery(Unknown Source)

等错误提示,最后找到解决办法,就是给表增加表头属性说明各列的名称:

props.put("headerline", "第1列的名称,第2列的名称,第3列的名称,第4列的名称,第5列的名称,第6列的名称,第7列的名称");

 

示例代码如下:

http://blog.csdn.net/aminfo/article/details/7853570

String csvDir = "myCsv"; //设置csv文件所在的目录文件夹String csvFile = "test";  //设置csv的文件名称,不要加扩展名Class.forName("org.relique.jdbc.csv.CsvDriver");Properties props = new java.util.Properties(); props.put("separator", ","); props.put("suppressHeaders", "true");   //false表示第一行为表头而非数据 props.put("headerline", "第1列的名称,第2列的名称,第3列的名称,第4列的名称,第5列的名称,第6列的名称,第7列的名称");  //设置表头字段名称,也就是每一列的名称props.put("fileExtension", ".csv");   //文件扩展名props.put("charset", "GB2312");   //编码props.put("ignoreHeaderLineNumber", "0");   //跳过行数Connection conn = DriverManager.getConnection("jdbc:relique:csv:" + csvDir, props);Statement stmt = conn.createStatement();ResultSet results = stmt.executeQuery("SELECT * FROM " + csvFile);while (results.next()){ System.out.println("第1列= " + results.getString("第1列的名称"));}results.close();stmt.close();conn.close();