|
版本: |
X5.2.7 |
小版本号: |
|
|
|
数据库: |
MS SQLServer |
服务器操作系统: |
Windows |
应用服务器: |
Tomcat |
客户端操作系统: |
Windows 8 |
浏览器: |
IE9 |
|
|
分享一下,调用存储过程生成报表数据(SQL Server)
不容易啊,X5示例中没有类似的参考
http://bbs.wex5.com/forum.php?mod=viewthread&tid=56429
今天看了好多帖子,有用Oracle数据库的,上面的帖子中有说明返回select * from ABC 数据的存储过程,都不行啊,结合下面的帖子,测试通过了
http://www.cnblogs.com/jams742003/archive/2009/07/20/1526889.html
以下是测试通过的代码
1.-----------------------------------------------------
//这是Action的Java代码
public static Table Report_FullWithProc(String qVouID) {
java.sql.Connection conn;
try {
conn = com.justep.model.ModelUtils.getConnection("/TestApp/dX/data");
java.sql.CallableStatement proc = conn.prepareCall("{call apsP_getVouData (?)}");
proc.setString(1, qVouID);
ResultSet rs = proc.executeQuery();
Table table = com.justep.system.util.BizUtils.resultSet2Table(rs, "/TestApp/dX/data");
return table;
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
2.-----------------------------------------------------
//这是UI中的js代码
function loadVouPrtData(){
// 加载数据到报表
var dsqvm=justep.xbl("vouMain");
var tvid=dsqvm.getCurrentID();
if (tvid == null || tvid == undefined || tvid == "") {
alert("请选择1张单据。");
//return false;
tvid="";
}
var rd=justep.xbl("rd2");//rd2这是 reportData(报表数据) 对象
rd.setStringVar("qVouID", tvid);
var rr=justep.xbl("reportPrt");//reportPrt 这是 report(报表) 对象
rr.refresh();
};
3.-----------------------------------------------------
--这是sql server中的存储过程
CREATE proc [dbo].[apsP_getVouData](
@qVouID nvarchar(100)=null
)
/*===============================================
@qVouID---nvarchar 单据主键
===============================================*/
as
declare @xSQL nvarchar(4000)
set @xSQL='select *
from testVouMain mm
where (1=1)
'
if (isnull(@qVouID,'')!='')
begin
set @xSQL=@xSQL+char(13)+' and mm.fID='''+@qVouID+''''
end
else
begin
set @xSQL=@xSQL+char(13)+' and mm.fID is null'
end
--select @xSQL
exec( @xSQL)
GO
|
评分
-
查看全部评分
|