-- 作者:飞
-- 发布时间:2012/7/9 17:44:00
-- [求助SQL高手]存储过程在客户端调用查询不到数据
学习存储过程不久,确实非常方便
但是今天发现一个问题,一个写好的存储过程,在SSMS中可以正常查询出数据,但是在客户端用SQLCommand以及执行SQL还有绑定到表都没有数据,有SQL高手请帮助看一下是不是SQL脚本的问题,谢谢!
USE [jks12]
GO
/****** Object: StoredProcedure [dbo].[Pro_ChatRecordCount_Sel] Script Date: 07/09/2012 16:33:12 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Description: <用于根据参数的用户名获取其未查看的消息数目>
-- =============================================
ALTER PROCEDURE [dbo].[Pro_ChatRecordCount_Sel]
@UserName NVARCHAR(20)
AS
BEGIN
DECLARE @Tbl TABLE
(
用户名 NVARCHAR(20),
接收人 NVARCHAR(20),
级别 INT
)
--将数据插入临时表中
INSERT @Tbl(用户名,接收人,级别) (SELECT 内部通讯记录.用户名,接收人,级别
FROM 内部通讯记录
LEFT JOIN (SELECT * FROM 最后会话时间 WHERE 用户名 = @UserName) A
ON 内部通讯记录.接收人 = A.会话方
WHERE 内部通讯记录.时间 > A.时间 OR A.时间 IS NULL)
--SELECT * FROM @Tbl
--单对单会话
SELECT 用户名,接收人,COUNT(用户名) AS 数量
FROM @Tbl
WHERE 级别 = 2 AND 接收人 = @UserName
GROUP BY 接收人,用户名
UNION
--所有用户及用户组会话
SELECT 接收人 AS 用户名,接收人,COUNT(用户名) AS 数量
FROM @Tbl
WHERE 级别 = 0 OR (级别 = 1 AND 接收人 IN (SELECT 分组名称 FROM 用户分组 WHERE 用户名 LIKE \'%\' + @UserName + \'%\'))
GROUP BY 接收人
DELETE @Tbl
END
|