2017-07-17 1 views
0

Je travaille sur le site Web avec C# .J'ai des détails d'enregistrement de magasin dans deux table qui est login et registration.Data est inséré dans le tableau. Maintenant, quand je suis à la page de connexion de cette email_id et pasword est choisi parmi les Database.So, pour que j'ai créé une procédure de sauvegarde qui is`Insertion Sélectionnez avec la même procédure de magasin

ALTER PROCEDURE [dbo].[P_M_Login] 


    @Email_id nvarchar(50), 
    @Password nvarchar(50), 
    @Tran_Type nvarchar(1) 
AS 
BEGIN 

SET NOCOUNT ON; 

IF @Tran_Type='I' 

if not exists(select 1 from M_Login where [email protected]_id) 


    BEGIN 

        INSERT INTO M_Login (Email_id, Password) 
        VALUES(@Email_id,@Password); 
     end 

ELSE 
IF @Tran_Type='S' 
BEGIN 

     Select Email_id,Password from M_Login; 
END 
END` 

Maintenant, je veux utiliser cette procédure de magasin dans mon architecture à trois niveaux comment Puis-je passer le type de tran de sorte qu'il sera parfait pour moi.

Il s'agit de mon codage de classe DAL pour la procédure d'appel de magasin.

 public Int32 Login(BALRegistration objBEL) 
     { 

      int result; 
      try 
      { 
       SqlCommand cmd1 = new SqlCommand("P_M_Login", con); 
       cmd1.CommandType = CommandType.StoredProcedure; 
       //cmd.Parameters.AddWithValue("@Regisration_Id", objBEL.Registration_Id); 
       cmd1.Parameters.AddWithValue("@Email_id", objBEL.Email_id); 
       cmd1.Parameters.AddWithValue("@Password", objBEL.Password); 




       if (con.State == ConnectionState.Closed) 
       { 
        con.Open(); 
       } 
       result = cmd1.ExecuteNonQuery(); 
       cmd1.Dispose(); 
       if (result > 0) 
       { 
        return result; 
       } 
       else 
       { 
        return 0; 
       } 
      } 
      catch (Exception ex) 
      { 
       throw; 
      } 
      finally 
      { 
       if (con.State != ConnectionState.Closed) 
       { 
        con.Close(); 
       } 
      } 

     } 
    } 
} 
+0

contrôle [ce] (https://stackoverflow.com/questions/1260952/how-to-execute- a-stored-procedure-within-c-sharp-program) –

+0

Pouvez-vous fournir votre code existant d'appel de cette procédure de magasin? – zzT

+0

https://www.aspsnippets.com/Articles/GridView-CRUD-Select-Insert-Edit-Update-Delete-using-Single-Stored-Procedure-in-ASPNet.aspx –

Répondre

0

Essayez ceci. Puisque vous avez paramètre à être accepté dans la procédure stockée, il vous suffit de passer le paramètre de la DAL

string type="s"; 
    SqlCommand cmd1 = new SqlCommand("P_M_Login", con); 
    cmd1.CommandType = CommandType.StoredProcedure; 
    cmd1.Parameters.AddWithValue("@Email_id", objBEL.Email_id); 
    cmd1.Parameters.AddWithValue("@Password", objBEL.Password); 
    cmd1.Parameters.AddWithValue("@Tran_Type ", type); 
+0

merci! mais j'ai eu une erreur sur le type. –

+0

vous devez assigner le type, comme la chaîne Type = 'S'; –