码迷,mamicode.com
首页 > 其他好文 > 详细

存储过程可以正常执行出结果,但用友UAP报表查询结果为空

时间:2020-01-06 12:34:13      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:强制   数值   不用   set   有用   最大的   color   存储过程   mic   

近期根据甲方需求做了一张简单的UAP报表,由于需要过滤条件所以写的是存储过程,设置了几个参数

写好的存储过程直接执行后没有问题,四个参数都是传递的nulll值:

DECLARE    @return_value int

EXEC    @return_value = [dbo].[qijun_zuixindanjia]
        @cinvcode = NULL,
        @cfree1 = NULL,
        @vendor = NULL,
        @cbustype = NULL

SELECT    Return Value = @return_value

结果如下:

技术图片

但是发布到U8后,怎么查询都没有结果,可是存储过程明明可以正常执行,那问题只能出现在UAP平台里面了

仔细想了一下,这一次报表添加的过滤条件是之前没有用过的,有可能这个过滤条件UAP传递的参数值不是null而是空值

于是我重新执行一下存储过程,这次参数不用NULL,而是用空字符串:

DECLARE    @return_value int

EXEC    @return_value = [dbo].[qijun_zuixindanjia]
        @cinvcode =‘‘,
        @cfree1 = ‘‘,
        @vendor = ‘‘,
        @cbustype = ‘‘

SELECT    Return Value = @return_value

查询结果确实是空:

技术图片

看来最大的可能原因是,用友UAP对于某些查询条件默认传递的是空字符串,在存储过程将参数值强制设置为null就可以了:

if @cinvcode=‘‘  set @cinvcode=null
if @cfree1=‘‘ set @cfree1=null
if @vendor=‘‘ set @vendor=null
if @cbustype=‘‘ set @cbustype=null

修改后UAP平台就可以正常查询出结果了:

技术图片

存储过程可以正常执行出结果,但用友UAP报表查询结果为空

标签:强制   数值   不用   set   有用   最大的   color   存储过程   mic   

原文地址:https://www.cnblogs.com/daiyudong/p/12155451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!