Как решить эту ошибку: " 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
Пожалуйста, помогите мне Спасибо. Я пытаюсь решить, но я терпел неудачу каждый раз.