2017-07-17 8 views
0

私はC#でウェブサイトで作業しています。ログインと登録である2つのテーブルにストア登録の詳細があります。データがテーブルに挿入されています。私は、ログインページの午前たときに今、このEMAIL_IDとパスワードはそのことのために私はInsert同じストアで選択手順

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` 

は、今私は私の3層アーキテクチャどのようにこのお店の手順を使用したいis` 1つのストアプロシージャを作成している、Database.Soから選択され、それは私にとって完璧なので、私はトランのタイプを渡すことができます。

これは私のDALクラスコーディングストアプロシージャです。

 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

[this](https://stackoverflow.com/questions/1260952/how-to-execute-ストアドプロシージャ - Cシャーププログラム内) –

+0

このストアプロシージャを呼び出す既存のコードを提供できますか? – zzT

+0

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

答えて

0

これを試してください。ストアドプロシージャで受け入れるパラメータがあるため、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

ありがとう!しかしタイプに誤りがあります。 –

+0

あなたは文字列Type = 'S'のような型を割り当てる必要があります。 –

関連する問題