存储过程:
area(stime in date,etime in date,id number,mycur out cur)
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@192.168.1.12:1521:QB";
String user = "qb";
String pwd = "qb"; Connection conn = null;
CallableStatement cs = null;
ResultSet rs = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, pwd);
// cs = conn.prepareCall("{ call DBO.PRO_3(?) }");
cs = conn.prepareCall("{ call pkg_wzpeople.p_area(?,?,?,?) }");
Calendar c=Calendar.getInstance();
c.clear();
c.set(Calendar.YEAR, 2010);
c.set(Calendar.MONTH, 7);
Date d1 = c.getTime();
java.sql.Date d1s=new java.sql.Date(d1.getTime());
c.clear();
c.set(Calendar.YEAR, 2014);
c.set(Calendar.MONTH, 9);
Date d2 = c.getTime();
java.sql.Date d2s=new java.sql.Date(d2.getTime());
cs.registerOutParameter(4, oracle.jdbc.OracleTypes.CURSOR);
cs.setDate(1, d1s);
cs.setDate(2, d1s);
// cs.setString(1, "20100822 00:00:00");
// cs.setString(2, "20140822 00:00:00");
cs.setInt(3, 1);
cs.execute();
rs = (ResultSet) cs.getObject(4); while (rs.next()) {
System.out.println("\t" + rs.getString(1) + "\t"
+ rs.getString(2) + "\t"+rs.getInt(3));
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
if (cs != null) {
cs.close();
}
if (conn != null) {
conn.close();
}
}
} catch (SQLException e) {
}
}
控制台输出为空 结果集为空 是不是写日期有问题?为什么没值用plsql对存储过程test,dbms_out里有一个选项卡,里面有个sql语句,执行后有数据 是8月20和21号的
area(stime in date,etime in date,id number,mycur out cur)
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@192.168.1.12:1521:QB";
String user = "qb";
String pwd = "qb"; Connection conn = null;
CallableStatement cs = null;
ResultSet rs = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, pwd);
// cs = conn.prepareCall("{ call DBO.PRO_3(?) }");
cs = conn.prepareCall("{ call pkg_wzpeople.p_area(?,?,?,?) }");
Calendar c=Calendar.getInstance();
c.clear();
c.set(Calendar.YEAR, 2010);
c.set(Calendar.MONTH, 7);
Date d1 = c.getTime();
java.sql.Date d1s=new java.sql.Date(d1.getTime());
c.clear();
c.set(Calendar.YEAR, 2014);
c.set(Calendar.MONTH, 9);
Date d2 = c.getTime();
java.sql.Date d2s=new java.sql.Date(d2.getTime());
cs.registerOutParameter(4, oracle.jdbc.OracleTypes.CURSOR);
cs.setDate(1, d1s);
cs.setDate(2, d1s);
// cs.setString(1, "20100822 00:00:00");
// cs.setString(2, "20140822 00:00:00");
cs.setInt(3, 1);
cs.execute();
rs = (ResultSet) cs.getObject(4); while (rs.next()) {
System.out.println("\t" + rs.getString(1) + "\t"
+ rs.getString(2) + "\t"+rs.getInt(3));
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
if (cs != null) {
cs.close();
}
if (conn != null) {
conn.close();
}
}
} catch (SQLException e) {
}
}
控制台输出为空 结果集为空 是不是写日期有问题?为什么没值用plsql对存储过程test,dbms_out里有一个选项卡,里面有个sql语句,执行后有数据 是8月20和21号的
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货