问题描述
有人可以帮忙吗?
我正在使用Microsoft Report Builder,并且想要在表中没有数据时添加一条消息,指出“无可用数据”。
每次我在属性中使用“ norowsMessage”或在其中一行中使用= CountRows()> 0表达式时,似乎都无法正常工作。我不断出现空白行或空白两行!而且消息根本不显示。就像空数据通过一样,这毫无意义。而且,如果我确定有真实数据通过,则看起来很好。有人可以告诉我我在做什么错吗?
更新信息:
declare @MeetingSessionID varchar(500)
set @MeetingSessionID = '160165815460010151522-101523-4111510-14142220'
select distinct vl.originalChatSessionID,vl.applicationUserID,vl.pharmaID,vl.UserName
--,isnull(ph.FirstName,'') as 'First Name'
--,isnull(ph.MiddleName,'') as 'Middle Name'
--,isnull(ph.LastName,'') as 'Last Name'
--,phm.CompanyName,isnull(dr.Title,'') as 'Title',isnull(dr.FirstName,'') as 'First Name',isnull(dr.MiddleName,'') as 'Middle Name',isnull(dr.LastName,'') as 'Last Name',isnull(dr.Name,'') as 'Name',null as 'Specialty'
from iclickphrDxvideolog vl
--inner join iclickphrDxpharmacy ph
-- on ph.pharmacyProfileID = vl.applicationUserID
--inner join iclickphrDxpharmacy_Main phm
-- on phm.pharmacyID = ph.PharmacyID
inner join iclickphrDxdoctor dr
on dr.DoctorID = vl.pharmaID
where vl.originalChatSessionID = @MeetingSessionID
因此,例如,我只想在表中看到中间名,就可以了...但是该列为空...我又返回了两行空...我希望它说“无可用数据”。我知道chatSessionID会带回两行...但是我需要在其中添加一些方法....以便从其他表中获取数据。
解决方法
我不确定我是否完全了解缺少实际表的情况,但是您可以在数据集查询中模拟一些数据并使用它。
一个简单的版本可能看起来像(更改数据类型以适合您的真实数据)
DECLARE @iclickphrDxvideolog TABLE([Video Name] Varchar(100),[Video length] int,originalCharSessionID varchar(500),applicationUserID int,pharmaID int,UserName varchar(256))
INSERT INTO @iclickphrDxvideolog VALUES
('My first Video',10,'160165815460010151522-101523-4111510-14142220',1234,1,'Bob'),('My second Video',20,3456,'Dave')
declare @MeetingSessionID varchar(500)
set @MeetingSessionID = '160165815460010151522-101523-4111510-14142220'
select distinct vl.originalChatSessionID,vl.applicationUserID,vl.pharmaID,vl.UserName,isnull(dr.Title,'') as 'Title',isnull(dr.FirstName,'') as 'First Name',isnull(dr.MiddleName,'') as 'Middle Name',isnull(dr.LastName,'') as 'Last Name',isnull(dr.Name,'') as 'Name',null as 'Specialty'
from @iclickphrDxvideolog vl -- <= swapped out for table variable for testing
inner join iclickphrDxdoctor dr
on dr.DoctorID = vl.pharmaID
where vl.originalChatSessionID = @MeetingSessionID
如果您使用“ 160165815460010151522-101523-4111510-14142220”以外的会话ID进行测试,则应该返回0行。