本帖最后由 shary 于 2012-6-15 09:29 编辑
function getConnection(application){
var approcess= createProcess("cn.myapps.core.deploy.application.ejb.ApplicationProcess");//实例化应用业务处理类
var dtprocess= new Packages.cn.myapps.core.dynaform.dts.datasource.ejb.DataSourceProcessBean();//实例化数据源业务处理类
var appvo = approcess.doView(application);//获取应用VO对象
var sourceid =appvo.getDatasourceid();//获取应用数据源ID
var dtvo=dtprocess.doView(sourceid);
if (dtvo != null) {
var username = dtvo.getUsername();
var password = dtvo.getPassword();
var driver = dtvo.getDriverClass();
var url = dtvo.getUrl();
var poolsize = dtvo.getPoolsize();
poolsize = poolsize!=null && poolsize.length()>0? dtvo.getPoolsize() : "10";
var timeout = dtvo.getTimeout();
timeout = timeout!=null && timeout.length()>0? dtvo.getTimeout() : "5000";
var dataSource = new Packages.cn.myapps.base.dao.PersistenceUtils.getDBCPDataSource(username, password, driver, url, poolsize,timeout);
return dataSource.getConnection();
}
return null;
}
/**
* 调用存储过程
*/
function callMax(p_id){
//获取连接
var max = "";
var conn = getConnection(getApplication());
var cs = null;
try {
cs = conn.prepareCall("{call p_test(?,?)}");
cs.setString(1,p_id);
//设置第一个输入参数的值为110
cs.registerOutParameter(2, Packages.java.sql.Types.CHAR);
cs.execute();
max = cs.getString(2);
$PRINTER.println("***************************max"+max);
} catch (e) {
} finally {
try {
if(cs != null){
cs.close();
}
if(conn != null){
conn.close();
}
} catch (ex) {
}
}
return max;
}
新版本getConnection似乎有变。
调用时报错,
c17852d1bf).保存afterActionScript]: TypeError: Cannot find function getDbusername. (pro#5)
能否给一个最新的调用存储过程的例子。 |