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

近期根据甲方需求做了一张简单的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平台就可以正常查询出结果了:

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

时间: 2024-10-22 04:17:36

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

存储过程一个简单编写样式与为什么创建存储过程时不执行操作的原因

今天我接收到一个任务就是创建一个数据脚本再原来8万条数据的基础上插入剩下的数据,总共数据为2千万条.之前是创建一个文本文件,进行上传导入数据的,但这个导入数据的时是要有6个月的时间跨度,那么上传一天一个文本,那就要创建180个文本文件,那是得不偿失的.因此想到了数据脚本写存储过程. 这是我简单插入数据,并根据一定的数量进行时间累加的存储过程脚本: USE [eRAS]GO /****** Object:  StoredProcedure [dbo].[AddSrcCCAUTH]    Scrip

存储过程中动态执行SQL并获取返回结果

很久没有写存储过程了,因为存储过程违背OOP精神,话说带了参数的存储过程,如果业务需求改变,改存储过程还真的挺麻烦的.所以现在比较倾向于负责的业务逻辑在业务层去处理,业务层专门做业务层的事情. 通过一层巧妙地包装,动态执行SQL语句就解决了 ALTER procedure [dbo].[PROC_NextSteps] ( @Count int, @IDS NVARCHAR(500), @Rules NVARCHAR(MAX), @IDSOut NVARCHAR(500) OUT ) as BEG

MySQL存储过程实现动态执行SQL

--存储过程名和参数,参数中in表示传入参数,out标示传出参数,inout表示传入传出参数 create procedure p_procedurecode(in sumdate varchar(10)) begin declare v_sql varchar(500); --需要执行的SQL语句 declare sym varchar(6); declare var1 varchar(20); declare var2 varchar(70); declare var3 integer; -

MySQL存储过程中实现执行动态SQL语句

sql语句中的任何部分都可以作为参数. DROP PROCEDURE if exists insertdata; delimiter //CREATE PROCEDURE insertdata(IN table_name varchar(255))begin declare var_sql varchar(800); set var_sql = concat_ws(' ', 'select count(*) from ', table_name,' where c_purchase_id is

操作-oracle (游标-数据的缓冲区、视图-数据库中虚拟的表、存储过程-提高程序执行效率、触发性-保证数据的正确性、事务和锁-确保数据安全、控制文件和日志文件)

原文地址:https://www.cnblogs.com/smallpigger/p/8320875.html

Mybatis关联查询,查询出的记录数量与数据库直接查询不一致,如何解决?

<select id="findUserInfoListForMap"    resultMap="BaseResultMap">  SELECT  p.name, u.u_name,u.company,u.proComany,u.mobile,u.email, r.money FROM iw_user u LEFT JOIN raiseentry r on r.userId=u.id LEFT JOIN project p on r.sourceId=

从库克出柜看G友社交的刚性价值

http://www.readnovel.com/novel/17065/3101.htmlhttp://www.readnovel.com/novel/17065/3102.htmlhttp://www.readnovel.com/novel/17065/3103.htmlhttp://www.readnovel.com/novel/17065/3104.htmlhttp://www.readnovel.com/novel/17065/3105.htmlhttp://www.readnovel

我们应该怎么做需求分析

他去过年.而且从日历2011反过来2012岁月.这给了我很多感慨,然后勾起太多的回忆审查.过去10年,毫无疑问,中国的软件业增长最快10年. 当我们刚刚毕业.它仍然是在使用VB.PB开发一些简单的数据库应用程序,现在,我几乎看不到他们的视线.作为回报,如J2EE和.NET这种大型web应用.而这期间,RUP.XP.敏捷开发.持续集成??????一个接一个的新概念层出不穷,令人眼花缭乱.如今想来,恍如隔世. 但更令我印象深刻而难以忘怀的.是我亲自经历的.亲眼目睹的.道听途说的一个又一个的软件项目.

我们应当如何做需求分析

又到新年了,日历又要从2011年翻到2012年了,这使我有太多的感慨,进而勾起了对太多往事的回顾.过去的10年,毫无疑问是中国软件业发展最快的10年.当我们刚刚毕业的时候,还在使用VB.PB开发一些简单的数据库应用,而如今却差点儿看不到它们的踪影,换来的是诸如J2EE和.NET这种大型web应用.而这期间,RUP.XP.敏捷开发.持续集成??????一个接一个的新概念层出不穷,令人眼花缭乱.如今想来,恍如隔世. 但更令我印象深刻而难以忘怀的,是我亲自经历的.亲眼目睹的.道听途说的一个又一个的软件