我有一个 ASP.net,它根据客户端的电子邮件地址从 SQL Server 2008 中的存储过程请求客户端信息,直到@
签名。由于在这个小型组织中,客户经常在 3 个月后更换,但电子邮件地址保持不变。
例如,具有电子邮件地址的客户obois_in4@cegepoutaouais.qc.ca
在 3-4 个月后完成了他/她的合同,然后将该电子邮件地址分配给其他人。
obois_in4
现在,这是我的问题:我希望我的存储过程在他/她输入并按下Search
按钮后找到客户信息。我不希望他们输入整封电子邮件的原因是因为它太长了,其次他们在输入时可能会出错,但输入诸如此类obois_in4
并不是什么大问题。
我编写了一个可以按名称搜索客户的代码,但同样,客户总是在 3-4 个月后更改,但电子邮件地址保持不变。
ALTER PROCEDURE [dbo].[sp_find_client_information]
-- Add the parameters for the stored procedure here
@client_email varchar (50) = null
AS Declare @numOfRows int BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT @numOfRows = COUNT (*)
From helpdesk_clients
Where --change first name and
client_firstName = @client_email or client_lastName = @client_email;
begin
if (@numOfRows = 0)
select @numOfRows;
else if (@numOfRows = 1)
select
client_id,
client_firstName,
client_lastName,
client_work_email,
client_work_phone,
client_work_phone_ext,
client_office,
dept_nom,
client_position
from
helpdesk_clients join departments
on
helpdesk_clients.dept_id = departments.dept_id
where client_firstName like '%'+@client_email+'%';
end
END
电子邮件地址始终以obois
下划线开头,_
然后是部门信息技术的名称,in
然后是数字,例如4
在这种情况下。例如obois_in4@cegepoutaouais.qc.ca