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

铸造 MySQL。数组到字符串[]

萧德馨
2023-03-14

我正在使用Java Mysql连接器,并且在提取结果时遇到问题:

这是需要执行的查询和准备好的语句:

String statement1 = " select sentence from sentences ; ";
PreparedStatement preparedstatement = conn.prepareStatement(statement1);
ResultSet res = preparedstatement.executeQuery();

现在我尝试在数组中获取结果,所以我使用:

Array temp = res.getArray("sentence"); //(1)
String[] temp2 = (String[])temp.getArray();      //(2)

(1) 返回mysql。数组,该数组包含一个定位器,它是指向服务器上的SQL array的逻辑指针,并且(2)应该对temp进行类型转换并返回一个String[],但是我收到了这个错误

java.sql.SQLFeatureNotSupportedException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at java.lang.Class.newInstance(Class.java:374)
    at com.mysql.jdbc.SQLError.notImplemented(SQLError.java:1342)
    at com.mysql.jdbc.ResultSetImpl.getArray(ResultSetImpl.java:1226)
    at com.mysql.jdbc.ResultSetImpl.getArray(ResultSetImpl.java:1243)
    at wikiparse.Wikiparse3.running(Wikiparse3.java:62) // this where I wrote (1) in my java file
    at wikiparse.ActivateWikiparse3.main(ActivateWikiparse3.java:27)

有什么想法吗?

共有3个答案

解明辉
2023-03-14

还有另一个教程演示如何从结果集中检索数据。

对你来说会是

List<String> result = new LinkedList<>();
while (while (rs.next()) {
    result.add(rs.getString(1));
}
贝滨海
2023-03-14

MySQL 没有 ARRAY 类型,因此未实现此方法。

看见http://forums.mysql.com/read.php?39,160525,160573

朱海超
2023-03-14

您应该遍历< code >结果集:

List<String> temp = new ArrayList<String>();
String statement1 = " select sentence from sentences  ";
PreparedStatement preparedstatement = conn.prepareStatement(statement1);
try
{
    ResultSet res = preparedstatement.executeQuery();

    while (res.next())
    {
       temp.add(res.getString("sentence"));
    }
}
finally{
    preparedstatement.close();
}
String[] temp2 = temp.toArray(new String[0]);
 类似资料:
  • 我做了一个活动,从已安装的应用程序中选择一个应用程序,获取所选应用程序的启动意图,并将该意图传递回启动活动的用户: 启动活动的OnActivity结果: 我从Logcat中提取了字符串和内部startActivity,我得到了: String:intent{act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]fl

  • 我目前在辅导一个高中生AP Java,她问了我一个关于“双选”的问题。我以前从未听说过这个术语,但显然她的老师希望她在即将到来的期末考试中知道这个术语。 她的老师提供的例子是,如果你想将一个整数转换成一个字符串,你必须执行以下操作才能避免编译器错误: 问题是:你想在现实生活中什么时候这样做? 老师只提供了导致运行时错误的示例。此外,我从来不知道有一个术语,但这样做似乎是个坏主意,因为只有当两种类型

  • 在最近的一个问题中,有人提到,当使用printf打印指针值时,调用方必须将指针强制转换为void*,如下所示: 为了我的生命,我不知道为什么。我发现这个问题,几乎是一样的。这个问题的答案是正确的——它解释了整数和指针的长度不一定相同。 当然,这是正确的,但是当我已经有了指针,就像上面的例子一样,为什么我要从转换到?什么时候int*与void*不同?事实上,什么时候生成的机器代码不同于简单的? 更新

  • 问题内容: 我试图理解一个到字符串,一个的字符串表示形式到转换…我将我的转换成一个要发送的字符串,然后我希望我的Web服务(用python编写)将数据直接回显给客户端。 当我从Java应用程序发送数据时… 字节发送.. 发送(这是Arrays.toString()的结果,它应该是我的字节数据的字符串表示形式,该数据将通过电线发送): 在python端,python服务器将字符串返回给调用方(我可以

  • 问题内容: 我有阵列 转换为字符串: 串: 以及如何将此字符串转换回数组? 问题答案: 尝试我的stringToDeep()方法转换回Array。