提问人:Bill Norman 提问时间:2/3/2021 更新时间:2/3/2021 访问量:67
VB.NET:除了使用按位逻辑运算符在记录中查找匹配项之外,还有其他方法吗?
VB.NET: Are there alternatives to using bitwise logical operators to find matches in records?
问:
在我的一些企业 VB 应用程序(适用于 Windows 和 ASP.NET)中,生成了各种报告,使用逻辑来确定这些报告的收件人。每个报告都被分配了一个二进制编码整数(因为缺乏更好的术语),即 1、2、4、8、16 等。收件人位于 SQL 数据库表中,该表包含一个字段,用于确定每个收件人收到的报告,即收件人 Snuffy Smiff 接收分配了二进制编码整数 1、4 和 16 的所有报告。然后,在收件人表中,Smiff 先生的“报告”字段包含这些整数的总和,值为 21。AND
当运行报告 #4 时,它将运行执行逻辑操作的收件人列表,并将 Smiff 先生列入收件人列表,因为数字 21 编辑有 4 个测试。但是当运行报告 #8 时,Smiff 先生没有被列入列表,因为 8 21 是AND
AND
TRUE
AND
FALSE
我希望我已经充分解释了这一点。
现在我的问题是报告列表不断增长,而且比我预期的要长。目前有 15 个报告,因此报告 #15 的二进制整数已增加到 16384,并且每增加一个报告,该数字将翻倍。如果这种情况持续下去,它甚至会比服务器可以处理的还要大。
我的问题是,有没有一种替代方法可以用来选择不会导致算术溢出的收件人?
答: 暂无答案
评论