现在的位置: 首页 > 综合 > 正文

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

2013年05月26日 ⁄ 综合 ⁄ 共 1077字 ⁄ 字号 评论关闭

在做一个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();



 

 

抱歉!评论已关闭.