首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请问:自动回复怎么判断楼下的人是不是自己

2012-10-24 
请教:自动回复如何判断楼上的人是不是自己假如2个人回复一个帖子A第一个人 B等于第二个人A回复1 3 5 7B回

请教:自动回复如何判断楼上的人是不是自己
假如2个人回复一个帖子
A=第一个人 B等于第二个人
A回复1 3 5 7 
B回复2 4 6 8
现在判断的是
我是B 现在到了9楼 我要判断8楼是不是我
是我就不执行 设置时钟等待一会再执行
但现在我看了网页代码中
没有可以判断的东西 自己没思路
楼层肯定不能判断
名字判断的话 8楼是我 呢 4楼 6楼 也是我 不知道怎么个思路
然后还能判断什么?


[解决办法]
这些回复记录会写到数据库里面吗,如果可以记录到数据库的话,那么:
假设——
/* 这里为表结构:
回复人楼层编号帖子id.......
A11
A31
A51
A71
B21
B41
B61
B81
*/

declare @tb table
(
回复人 varchar(5),
楼层编号 int,
帖子id int
);
INSERT INTO @tb

SELECT 'A', 1, 1 UNION ALL
SELECT 'A',3,1 UNION ALL
SELECT 'A',5,1 UNION ALL
SELECT 'A',7,1 UNION ALL
SELECT 'B',2,1 UNION ALL
SELECT 'B',4,1 UNION ALL
SELECT 'B',6,1 UNION ALL
SELECT 'B',8,1 

DECLARE @currentReply varchar(10);
SET @currentReply = 'B'
if exists(select 1
from @tb
where(
case 
when (select MAX(楼层编号) from @tb t where 回复人 = @currentReply) = (select MAX(楼层编号) from @tb) then 1 
else 0 end) = 1
)
--执行延迟插入
print '1' --测试输出
ELSE
--插入最大MAX(楼层编号)+1和当前回复人
print '0' --测试输出

试试看可否满足你的要求?


[解决办法]
declare @tb table
(
 回复人 varchar(5),
 楼层编号 int,
 帖子id int
);
INSERT INTO @tb

 SELECT 'A', 1, 1 UNION ALL
 SELECT 'A', 3, 1 UNION ALL
 SELECT 'A', 5, 1 UNION ALL
 SELECT 'A', 7, 1 UNION ALL
 SELECT 'B', 2, 1 UNION ALL
 SELECT 'B', 4, 1 UNION ALL
 SELECT 'B', 6, 1 UNION ALL
 SELECT 'B', 8, 1

DECLARE @currentReply varchar(10);
SET @currentReply = 'B'
if exists( select 1
 from @tb
 where(
 case
when (select MAX(楼层编号) from @tb t where 回复人 = @currentReply) = (select MAX(楼层编号) from @tb) then 1
else 0 end) = 1

--执行延迟插入
 print '1' --测试输出
ELSE
 --插入最大MAX(楼层编号)+1和当前回复人
 print '0' --测试输出

可直接在查询分析器里面运行,模拟回复人A或者B进行下一次回复

[解决办法]
分析html代码
[解决办法]
总得有个东西来记录吧,没保存记录的话第二次打开不是什么都没有了?
[解决办法]
每条回复的记录你不保存吗?不保存下次怎么显示给别人看

热点排行