`
java-mans
  • 浏览: 11427975 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics