Как решить эту ошибку: " ExecuteNonQuery требует открытого и доступного соединения. Текущее состояние соединения закрыто". ASP.NET C#(WEB)?

Я преобразовал свой проект в архитектуру 3Layers, но у меня возникла проблема с подключением к базе данных.

"ExecuteNonQuery requires an open and available Connection. 
  The connection's     current state is closed.

Description: An unhandled exception occurred during the 
 execution of the current web request. 
 Please review the stack trace for more information about        
 the error   and where it originated in the code. 
 Exception Details: System.InvalidOperationException: ExecuteNonQuery requires an open and 
available Connection.
  The connection's current state  is closed.
  Source Error: 
     Line 22:                 
   cmd.Parameters.AddWithValue("@USERNAME",   USERNAME);
 Line 23:                 cmd.Parameters.AddWithValue("@PASSWORD", PASS);
Line 24:                 cmd.Parameters.AddWithValue("@CONFIRMPASSWORD",   PASS2);
 Line 25:                 cmd.ExecuteNonQuery();
 Line 26:    
  Source File: C:\Users\Hameed\Documents\Visual Studio     2010\Projects\database\Data_Layer\csDL.cs    Line: 24   

Вот мой код слоя данных

     public void SAVE(string USER, string EMAIL, string USERNAME, string PASS, string PASS2)
    {

        SqlConnection cnn = new SqlConnection("Data Source=.\\HAMEED_KHAN\\SQLEXPRESS; Initial catalog=db_compiler; Integrated security=True");
        cnn.Open();

            SqlCommand cmd = new SqlCommand("INSERT", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@NAME", USER);
            cmd.Parameters.AddWithValue("@EMAIL", EMAIL);
            cmd.Parameters.AddWithValue("@USERNAME", USERNAME);
            cmd.Parameters.AddWithValue("@PASSWORD", PASS);
            cmd.Parameters.AddWithValue("@CONFIRMPASSWORD", PASS2);

            cmd.ExecuteNonQuery();
            cnn.Close();


            }

и вот мой код хранимой процедуры. Я использую Microsoft SQL Server 2012 управления

      ALTER PROCEDURE [dbo].[INSERT]
      (@NAME varchar(50),
      @USER_NAME varchar(50),@EMAIL varchar(50),
      @PASSWORD varchar(50), @CONFIRM_PASSWORD varchar(50))
      AS
      BEGIN

       INSERT INTO tbl_user
     (NAME,Email,User_Name,Password,Confirm_Password) 
      VALUES(@NAME,@EMAIL,@USER_NAME,@PASSWORD,@CONFIRM_PASSWORD)


        END

Пожалуйста, помогите мне Спасибо. Я пытаюсь решить, но я терпел неудачу каждый раз.

0 ответов

Другие вопросы по тегам