我已经将我的项目转换为 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 management 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
请帮助我谢谢。我正在尝试解决,但我每次都失败了。