aspnet_Membership_FindUsersByEmail

本文介绍了一个SQL存储过程,用于在数据库中根据电子邮件地址查找用户,并实现分页功能。该过程首先确定应用程序ID,然后根据提供的电子邮件地址筛选用户,支持模糊匹配。接着,它通过创建一个临时表来存储查询结果并进行分页处理。
None.gifALTER  PROCEDURE dbo.aspnet_Membership_FindUsersByEmail
None.gif    
@ApplicationName       NVARCHAR(256),
None.gif    
@EmailToMatch          NVARCHAR(256),
None.gif    
@PageIndex             INT,
None.gif    
@PageSize              INT
None.gif
AS
None.gif
BEGIN
None.gif    
DECLARE @ApplicationId UNIQUEIDENTIFIER
None.gif    
SELECT  @ApplicationId = NULL
None.gif    
SELECT  @ApplicationId = ApplicationId FROM dbo.aspnet_Applications WHERE LOWER(@ApplicationName= LoweredApplicationName
None.gif    
IF (@ApplicationId IS NULL)
None.gif        
RETURN 0
None.gif
None.gif    
-- Set the page bounds
None.gif
    DECLARE @PageLowerBound INT ---开始显示的记录
None.gif
    DECLARE @PageUpperBound INT ---结束显示的记录(用下面的算就知道了)
None.gif
    DECLARE @TotalRecords   INT ---总记录数
None.gif
    SET @PageLowerBound = @PageSize * @PageIndex
None.gif    
SET @PageUpperBound = @PageSize - 1 + @PageLowerBound
None.gif
None.gif    
-- Create a temp table TO store the select results
None.gif
    --创建一个临时表存储查询出的结果
None.gif
    CREATE TABLE #PageIndexForUsers
None.gif    (
None.gif        IndexId 
int IDENTITY (01NOT NULL,
None.gif        UserId 
UNIQUEIDENTIFIER
None.gif    )
None.gif
None.gif    
-- Insert into our temp table
None.gif
    --为临时表插数据
None.gif
    IF@EmailToMatch IS NULL )
None.gif        
INSERT INTO #PageIndexForUsers (UserId)
None.gif            
SELECT u.UserId
None.gif            
FROM   dbo.aspnet_Users u, dbo.aspnet_Membership m
None.gif            
WHERE  u.ApplicationId = @ApplicationId AND m.UserId = u.UserId AND m.Email IS NULL
None.gif            
ORDER BY m.LoweredEmail
None.gif    
--如果邮件地址为空,则选出所有用户放如临时表
None.gif
    ELSE
None.gif        
INSERT INTO #PageIndexForUsers (UserId)
None.gif            
SELECT u.UserId
None.gif            
FROM   dbo.aspnet_Users u, dbo.aspnet_Membership m
None.gif            
WHERE  u.ApplicationId = @ApplicationId AND m.UserId = u.UserId AND m.LoweredEmail LIKE LOWER(@EmailToMatch)
None.gif            
ORDER BY m.LoweredEmail
None.gif    
--如果不为空,则查询具有相似地址的用户放入临时表
None.gif
    SELECT  u.UserName, m.Email, m.PasswordQuestion, m.Comment, m.IsApproved,
None.gif            m.CreateDate,
None.gif            m.LastLoginDate,
None.gif            u.LastActivityDate,
None.gif            m.LastPasswordChangedDate,
None.gif            u.UserId, m.IsLockedOut,
None.gif            m.LastLockoutDate
None.gif    
FROM   dbo.aspnet_Membership m, dbo.aspnet_Users u, #PageIndexForUsers p
None.gif    
WHERE  u.UserId = p.UserId AND u.UserId = m.UserId AND
None.gif           p.IndexId 
>= @PageLowerBound AND p.IndexId <= @PageUpperBound
None.gif    
ORDER BY m.LoweredEmail
ExpandedBlockStart.gifContractedBlock.gif    
/**//*三表连接通过USERID,临时表的自动增长列主要用来控制显示数的.这个好象用于分页.
ExpandedBlockEnd.gif        若不考虑分页,可不用临时表.
*/

None.gif    
SELECT  @TotalRecords = COUNT(*--查询总记录数
None.gif
    FROM    #PageIndexForUsers
None.gif    
RETURN @TotalRecords
None.gif
END
None.gif

转载于:https://www.cnblogs.com/ruanbl/archive/2006/08/30/490046.html

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值