我们如何传递ArrayList <arraylist <string>&gt;使用java到sql server存储过程?

时间:2016-02-06 21:52:01

标签: java sql-server

这是我的代码

ArrayList<ArrayList<String>> collection=new ArrayList<ArrayList<String>>();;
ArrayList<String> listOfSomething= new ArrayList<String>();;
listOfSomething.add("first");
listOfSomething.add("second");
collection.add(listOfSomething);
listOfSomething.add("third");
listOfSomething.add("fourth");
collection.add(listOfSomething);
String user="Test";

Connection conn=DriverManager.getConnection("jdbc:sqlserver://....");
CallableStatement stmt= conn.prepareCall("{Call UserDatils(?,?,?)}");
stmt.setString(2, user);
stmt.setObject(3, collection.toString());
stmt.registerOutParameter(1, java.sql,Types.VARCHAR);
stmt.execute();

当我运行上面的代码时,它会给出一个名为“操作数类型冲突的错误:nvarchar不兼容......”

我希望问题在于这一行

stmt.setObject(3, collection.toString());

请告诉我们如何将这个arraylist传递给存储过程?

谢谢。

0 个答案:

没有答案