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

如何使用JAVA将数组传递SQL服务器存储过程?

唐修诚
2023-03-14

我想通过传递数组_列表来调用sql server存储过程。

String[][] array1=new String[2][2];
array1[0][0]="a";
array1[0][1]="b";
array1[1][0]="c";
array1[1][1]="d";
String name="TEST";
String SPsql="EXEC SP_name ?,?,?";
PreparedStatement stmt=con.preparedStatement(SPsql);
stmt.setString(1, name);
stmt.setArray(2,array1);

最后一行给出了错误。无法在那里设置数组。我也试过使用列表,但没有用。

共有1个答案

颜嘉福
2023-03-14

您应该尝试传递逗号分隔的字符串,而不是数组,然后在查询中使用它。

 类似资料:
  • 例如,我有一个员工列表。我想将这个列表作为一个表,并将它与另一个表连接起来。但是员工列表应该作为参数从C#传递。

  • 问题内容: 我有一个具有以下属性的类: 现在,我有一个包含这样的对象的对象, 我需要将此数组列表传递给sql服务器存储过程,并将学生对象数据插入表中。如何在Java中最好地实现这一目标?我需要有一个存储过程。 Java版本8,Sql Server 2014(如果有任何用途)。 问题答案: 使用Mark Rotteveel提供的输入,我能够做到。谢谢马克,肖恩也感谢您的输入。这是可能对您有用的任何人

  • 我正在从Spring中调用一个存储过程,但是我需要向存储过程传递一个字符串数组。然而,到目前为止,我遇到了一个又一个错误。你知道哪里出了问题吗? 我尝试运行以下测试。 这是我得到的stacktrace。

  • com.microsoft.sqlserver.jdbc.sqlserverexception:操作数类型冲突:nvarchar与com.microsoft.sqlserver.jdbc.sqlserverexception.makefromdatabaseerror(sqlserverexception.java:196)com.microsoft.sqlserver.jdbc.sqlserve

  • 我在SAP HANA中定义了一个存储过程,其中包含3个in参数,返回一个记录集。当我用语法调用它时,它在HANA studio中运行得非常好。 现在我需要从微软SQL服务器调用它(我在2016年)。我有一个与HANA服务器的远程链接服务器连接,当使用和语法查询表和视图时,它可以正常工作。 我尽力了,但找不到调用远程过程的方法。“CALL sp_name(p,p,p)”语法返回“对象没有列或当前用户