我插入記錄到數據庫中,我檢查了重複的電子郵件ID,但事情是電子郵件已經存在,則顯示的信息並記錄也越來越插入DB檢查是否存在重複的電子郵件
我BAL
public int insert(string firstname,string lastname,DateTime dob,string gender,string mobile,string country,string state,string email,string password)
{
ProfileMasterDAL dal=new ProfileMasterDAL();
try
{
return ProfileMasterDAL.Insert(firstname, lastname, dob, gender, mobile, country, state, email, password);
}
catch (Exception ex)
{
throw ex;
}
我的UI
try
{
chk = pmBLL.insert(firstname, lastname, dob, gender, mobile, country, state, email, password);
if (chk >= 0)
{
Response.Write("<script language='javascript'>alert('Email already exists');</script>");
}
else
{
result = pmBLL.insert(firstname, lastname, dob, gender, mobile, country, state, email, password);
if (result > 0)
{
Session["username"] = TextBox1.Text;
我插入存儲過程
ALTER procedure [dbo].[Insertreg]
(@id int output,@FirstName varchar (50),@LastName varchar(50) ,@Dob datetime,
@Gender varchar(20) ,@MobileNo nchar(10) ,@Country varchar(50) ,
@State varchar (50),@EmailId varchar (50),@Password nchar (15),@result int output
)
as
begin
if exists(select EmailId from Profile_Master where [email protected])
set @result=0
else
begin
set @result=1
insert into Profile_Master(FirstName,LastName,Dob,Gender,MobileNo,Country,State,EmailId,Password)
values
(@FirstName,@LastName,@Dob,@Gender,@MobileNo,@Country,@State,@EmailId,@Password)
set @id=SCOPE_IDENTITY()
return
end
end
的存儲過程現在看起來更好。如果電子郵件已存在,則存儲的proc應該返回0,否則應該插入一條新記錄並返回1.您能否更好地解釋錯誤,即您期望發生什麼?以及實際發生了什麼? – Les 2012-08-13 12:02:13
如果您收到電子郵件已存在的錯誤,可能它已存在。您的原始帖子顯示的代碼會嘗試插入它,即使它已經存在。開始和結束將防止此SP嘗試插入副本。 – Les 2012-08-13 12:03:50
此外,您的代碼調用pmBLL.Insert,但您的SP是Insertreg。您不顯示任何代碼將插入映射到SP。 – Les 2012-08-13 12:06:32