这是我的代码
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传递给存储过程?
谢谢。