当前位置: 首页 > 知识库问答 >
问题:

结果集返回CSV中的空白列

蓟清野
2023-03-14

我正在使用JOOQ和Postgres。在博士后中,我有一个专栏性别:

 'gender' AS gender,

(表本身是一个视图,性别列是用Java计算的值的占位符)

在Java中,当I.fetch()视图时,我会对每条记录进行一些计算:

     for (Record r : skillRecords) {
            idNumber=function(r)
            r.set(id, idNumber);
            r.set(gender,getGender(idNumber));
        }

所有看起来都很好,如果打印值,它们都是正确的。但是,当我在我的技能记录上调用intoResultSet()时,性别列在所有值旁边都有一个星号,例如“*男性”。

然后,我使用结果集作为OpenCSV CSV编写器的输入,当我打开CSV时,性别列显示为null。

有什么建议吗?

更新:

根据Lukas关于星号的输入,我意识到opencsv可能存在问题。

我的代码如下:

        File tempFile = new File("/tmp/file.csv");

        BufferedWriter out = new BufferedWriter(new FileWriter(tempFile));
        CSVWriter writer = new CSVWriter(out);
        //Code for getting records sits here
     for (Record r : skillRecords) {
        idNumber=function(r)
        r.set(id, idNumber);
        r.set(gender,getGender(idNumber));
    }
        writer.writeAll(skillRecords.intoResultSet(), true);
        return tempFile;

CSV中的所有列都按预期返回,但性别列除外,该列的标题为“性别”,但列值为空。我在上面的代码中有必要的try/catch,但为了简洁起见,我排除了它们。

共有2个答案

锺博耘
2023-03-14

解决方案:

所以我找到了解决办法。对于博士后来说,如果我有这样的东西:

'gender' AS gender,

类型未知,不是文本。所以解决方案是定义为:

“性别”::文本为性别

在这样做之后,OpenCSV很高兴。

淳于凯
2023-03-14

您在结果集中看到的星号。toString()输出(或在结果中。toString())反映记录的内部记录。更改(字段)标志,即每个记录上的信息,表示该记录在从数据库中检索后被修改(您这样做了)。

这只是你可以放心忽略的视觉信息。

 类似资料:
  • 问题内容: 我正在使用JDBC来实现非常简单的数据库连接。 我已经创建了连接/语句并执行了查询。我在调试器中检查语句的查询对象,以确认它正在发送正确的查询。然后,我再次检查了数据库中的查询(直接从调试器复制),以确保其返回数据。但是,返回的结果集在.next()上给出false 这里有我遗漏的常见陷阱吗? 还有myDB类(一个简单的包装程序,使我可以将连接/语句代码放入任何项目中) 编辑:根据建议

  • 问题内容: 我有一个看起来像这样的JSON Blob 我有一些代码将其转换回go结构 但是我在运行时看到的只是一个零位结构 我尝试先分配该结构,但那也没有用,我不确定为什么它不产生值,并且不返回错误 问题答案: 您的结构字段不会导出。这是因为它们以小写字母开头。 当我说“未导出”时,是指它们在您的包装之外不可见。您的软件包可以愉快地访问它们,因为它们在本地作用域内。 至于包装-它看不到它们。您需要

  • 问题内容: 我正在尝试创建一种方法,从中可以查询数据库并检索整个表。 目前,如果我使用这些数据只是正常工作 中 的方法。但是,我希望该方法返回结果。 我正在了解当前代码。 我该如何实现? 问题答案: 您永远不要通过公共方法来回避。这很容易导致资源泄漏,因为您不得不保持语句和连接打开。关闭它们将隐式关闭结果集。但是,将它们保持打开状态将导致它们悬而未决,并且当它们打开过多时,将导致数据库用尽资源。

  • 我试图从一个网站刮数据练习网络刮。但是返回空集。我如何解决这个问题? 输出:

  • 方法返回空结果。我正在尝试使用Spring-boot、h2数据库和JPA来实现rest服务。 下面是我的 我的文件包括: 实体: 接口:

  • 我正在构建我的第一个Spring Boot应用程序。但是我不能正确地得到我的requestMapping控制器的回答。 这是我的主要课程: 这是我的RestController: 如果我看一下日志,我可以看到“/hi”映射: 但是当我访问:http:localhost:8080/hi时,我看到了一个空白页面,我期望看到“Hello World”文本。 为什么我得到一个空白页面? ---编辑----