jfinal调用定时器执行存储过程

发布于 2021-11-29 11:47:30 字数 1212 浏览 730 评论 2

@JohnsonZ 你好,想跟你请教个问题:我通过使用jfinal框架,使用(Timer)定时器定时执行存储过程,可是看你博客上面的源码有些不明白故向你请教一下!先提前谢谢你了!

源码如下:

//通过定时定时执行继承 ICallback类中的调用存储过程的方法

Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
OracleDbPro odp = new OracleDbPro();
odp.oid = rank1;
odp.score = scoreNum;
Db.execute(odp);
ResultSet rs = odp.rs;
}
},2000);

OracleDbPro 类中的方法

public String oid = null;//机构id前台页面传过去的参数之一
public String score=null;//积分前台页面传过去的参数之一
public ResultSet rs = null;


//执行存储过程
@Override
public Object call(Connection conn) throws SQLException {
CallableStatement proc = null;
proc = conn
.prepareCall("{ call add_scores(?,?) }");
proc.setString(1, oid);
proc.setString(2, score);
proc.registerOutParameter(2, OracleTypes.CURSOR); //执行到这一步的时候出现sql异常,并且这一段代码有点不明白!望请教
proc.execute();
rs = (ResultSet) proc.getObject(2);  //这段代码是什么意思  有点不明白  望请教
return rs;
}

这些源码有什么错误吗?  跪求大神赐教!  小弟在这里谢谢了!  在次表示感谢!


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

疑心病 2021-11-29 14:13:31

我的存储过程没有输出参数,我这边需要怎么修改那!可否给点提示那?谢谢了

伴我心暖 2021-11-29 12:26:46

registerOutParameter是注册输出参数,你的存储过程有没有输出参数?有的话 需要那一行代码,getObject是获取输出的结果,不要完全的copy网上的代码,根据自己的情况做一些修改。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文