Java-To_Date() 在 Callable 语句中

Java-To_Date() inside Callable Statement

我需要在 Java 中使用 2 个输入参数执行以下过程。它应该成功执行,不需要输出参数。

谁能帮我写代码。

SQL声明:

call pack_context.context_open(to_date('31-JULY-2016'),7);

Java代码:

CallableStatement callableStatement = null;
String proc = "{call pack_context.context_open(?,?)}";
callableStatement = con.prepareCall(proc);          
callableStatement.setInt(2, 7);
callableStatement.setDate(parameterName, x);//Need Help
callableStatement.setDate(parameterName, x);//Need Help

可以调整如下图:

String myDate="31-JUL-2016"; // notice JUL, instead of JULY
// or use some other date string like yyyy-MM-dd
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
java.util.Date date = sdf.parse(myDate);
java.sql.Date d = new java.sql.Date(date.getTime());
callableStatement.setDate(parameterName, d);
// here parameterName should be the exact name as 
// in your procedure `pack_context.context_open`.

setDate(字符串参数名, Date x) 要求第二个参数的类型为 java.sql.Date。驱动程序将其发送到数据库时将其转换为 SQL DATE 值。