| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 891 人关注过本帖
标题:(@TablesToCheck & 1)这句是什么意思,高手给指点指点!
只看楼主 加入收藏
dearwolf4128
Rank: 5Rank: 5
来 自:陕西西安
等 级:职业侠客
威 望:6
帖 子:79
专家分:365
注 册:2010-7-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
(@TablesToCheck & 1)这句是什么意思,高手给指点指点!
CREATE PROCEDURE [dbo].[aspnet_AnyDataInTables]
    @TablesToCheck int
AS
BEGIN
    -- Check Membership table if (@TablesToCheck & 1) is set
    IF ((@TablesToCheck & 1) <> 0 AND
        (EXISTS (SELECT name FROM sysobjects WHERE (name = N'vw_aspnet_MembershipUsers') AND (type = 'V'))))
    BEGIN
        IF (EXISTS(SELECT TOP 1 UserId FROM dbo.aspnet_Membership))
        BEGIN
            SELECT N'aspnet_Membership'
            RETURN
        END
    END
2010-07-21 11:00
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:20 
&是按位与运算,(@TablesToCheck & 1) <> 0 是检查@TablesToCheck值二进制最右边一位是不是1,如果是1,条件为真

★★★★★为人民服务★★★★★
2010-07-21 14:45
dearwolf4128
Rank: 5Rank: 5
来 自:陕西西安
等 级:职业侠客
威 望:6
帖 子:79
专家分:365
注 册:2010-7-2
收藏
得分:0 
那(@TablesToCheck & 2)和(@TablesToCheck & 4)(@TablesToCheck & 8)(@TablesToCheck & 16)等又如何解释,我不太明白,麻烦给我解说以下.先谢谢了 !
2010-07-21 15:47
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
分别是检查@TablesToCheck值二进制最右边第二、三、四位是不是1

★★★★★为人民服务★★★★★
2010-07-22 21:06
dearwolf4128
Rank: 5Rank: 5
来 自:陕西西安
等 级:职业侠客
威 望:6
帖 子:79
专家分:365
注 册:2010-7-2
收藏
得分:0 
@TablesToCheck 为变量,1,2,4,等为值,真正的理解为将@TablesToCheck 和1,或2转为二进制,按位与计算(@TablesToCheck & 1)是否为1;这才是正解
2010-07-23 09:03
快速回复:(@TablesToCheck & 1)这句是什么意思,高手给指点指点!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035304 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved