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

将结果集从SQL数组转换为字符串数组

蓬野
2023-03-14

我正在查询<code>information_schema。我的PostgreSQL数据库中的columns</code>表。结果集使用表名查找所有列名、类型以及是否可以为空(主键“id”除外)。这是正在使用的查询:

SELECT column_name, is_nullable,data_type FROM information_schema.columns
WHERE lower(table_name) = lower('TABLE1') AND column_name != 'id'
ORDER BY ordinal_position;

我为每个结果都有一个字符串数组,我正尝试使用ResultSet方法getArray(StringcolumnLabel)来避免结果循环。我想将返回的数组存储在字符串数组中,但出现类型不匹配错误

Type mismatch: cannot convert from Array to String[]

是否有方法将SQL Array对象转换或类型转换为String[]?

相关代码:

String[] columnName, type, nullable;

//Get Field Names, Type, & Nullability 
String query = "SELECT column_name, is_nullable,data_type FROM information_schema.columns "
        + "WHERE lower(table_name) = lower('"+tableName+"') AND column_name != 'id' "
        + "ORDER BY ordinal_position";

try{
    ResultSet rs = Query.executeQueryWithRS(c, query);
    columnName = rs.getArray(rs.getArray("column_name"));
    type = rs.getArray("data_type");
    nullable = rs.getArray("is_nullable");
}catch (Exception e) {
    e.printStackTrace();
}

共有3个答案

翟修明
2023-03-14

如何从 SQL 数组设置 ArrayList 属性:

Array a = rs.getArray("col"); // smallint[] column
if (a != null) {
    yourObject.setListProperty(Arrays.asList((Integer[]) a.getArray()));
}
经骁
2023-03-14

数组一般化为对象

    Object[] type; //this is generic can use String[] directly
    Array rsArray;

    rsArray = rs.getArray("data_type");
    type = (Object [])rsArray.getArray();

将它作为字符串循环使用:

type[i].toString();
洪通
2023-03-14

使用:

Array a = rs.getArray("is_nullable");
String[] nullable = (String[])a.getArray();

如此处所述

< code>Array是SQL类型,< code>getArray()返回要转换为java数组的对象。

 类似资料:
  • 问题内容: 我正在查询PostgreSQL数据库中的表。结果集使用表名查找所有列名,类型以及它是否可为空(主键“ id”除外)。这是正在使用的查询: 对于每个结果,我都有一个字符串数组,并且我尝试使用ResultSet方法来避免循环遍历结果。我想将返回的数组存储在字符串数组中,但出现类型不匹配错误 有没有一种方法可以将SQL Array对象转换或转换为String []? 相关代码: 问题答案:

  • 问题内容: 我需要将结果集转换为字符串数组。我正在从数据库中读取电子邮件地址,我需要能够像这样发送它们: 这是我的阅读电子邮件地址的代码: MyOutput是: 我需要这样: 我正在使用Oracle 11g。 问题答案: 获得所需的输出: 替换这些行 通过

  • 问题内容: 下面的查询: 给我这样的结果: 我想要的是这样的结果: 如何更改原始SQL查询以得到上面的结果? 问题答案: 您要使用,这应该可以工作: 请注意,不再存在,因为它正在聚合。

  • 我有一个购物车php页面,在那里我显示客户端产品。在同一页中,我有一个表单,可以将客户的个人详细信息(如姓名、姓氏等)以及产品信息(如产品名称、数量等)直接发送到我的电子邮件地址。 现在,问题是,当我发送表单时,在我的电子邮件地址上,我收到了所有的信息,但没有产品细节,例如在订单电子邮件中的产品名称字段,我有ARRAY。 我看到将数组转换为字符串时出现问题,但我不知道如何转换,我尝试了几个示例,但

  • 问题内容: 我有以下代码,我试图通过测试,但似乎无法理解Java世界中各种编码形式。 我想我的问题是:将任意字节的字节数组转换为Java字符串,然后将同一Java String转换为另一个字节数组的正确方法是什么,该字节数组将具有与原始字节相同的长度和相同的内容数组? 问题答案: 尝试特定的编码: ideone链接

  • 问题内容: 因此基本上,用户是从扫描仪输入中输入序列。 等等。 它可以是任意长度,并且必须是整数。 我想将输入的字符串转换为整数数组。 所以会,就等 有什么提示和想法吗?我正在考虑实现获取先前的编号并将它们解析在一起,并将其应用于数组中的当前可用插槽。但是我不太确定如何编写代码。 问题答案: 您可以从扫描仪中读取整个输入行,然后将其分开,然后得到一个,将每个数字解析为与索引一对一匹配的…(假设输入