如何正确使用setString过程?

时间:2009-10-21 11:57:11

标签: java

我有以下情况......

我使用java.sql包中的CallableStatement。当我在执行存储过程之前使用setDate函数时,出现错误:

  

找不到符号符号:方法   setDate(int,java.util.Date)位置:   interface java.sql.CallableStatement“

以下是示例代码:

Connection con = null;
CallableStatement proc_stmt = null;

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

con = DriverManager.getConnection("jdbc:sqlserver://servername;databaseName=DBName", "UNAME", "PASS");

proc_stmt = con.prepareCall("{ call InsertSomething(?, ?) }");

proc_stmt.setString(1, "A00999999");
proc_stmt.setDate(2, new Date());

proc_stmt.executeQuery();

proc_stmt.close();
con.close();

我甚至尝试使用具有适当功能的Calendar类,但效果是一样的。

2 个答案:

答案 0 :(得分:3)

它必须是java.sql.Date,java.util.Date的子类

答案 1 :(得分:2)

您应该使用java.sql.Date类而不是java.util.Date类。