In my Create method, I am using a stored procedure to INSERT INTO my SQL Server database. Sometimes, fields such as Comment will be left blank. However, it does not work as I wished.
Firstly, this is how my method looks like:
using (SqlConnection connection = new SqlConnection(connectionString))
        {
            string sql = "CreateTask";
            using (SqlCommand command = new SqlCommand(sql, connection))
            {
                command.CommandType = CommandType.StoredProcedure;
                .....................
                parameter = new SqlParameter
                {
                    ParameterName = "@Condition",
                    Value = task.Condition,
                    SqlDbType = SqlDbType.NVarChar
                };
                command.Parameters.Add(parameter);
                .....................
When task.Condition is null, command.ExecuteNonQuery(); gets the following error:
: 'Procedure or function 'CreateTask' expects parameter '@Condition', which was not supplied.'
However, the columns in the table are set to allow null values.
The stored procedure also looks like this:
    ALTER PROCEDURE [dbo].[CreateTask]
    @Name        NVARCHAR(50),
    @IsGate   BIT,
    @Condition Varchar(450),
    @Precondition       Varchar(450),
    @Comments       Varchar(450),
    @StartDate       DateTime,
    @EndDate       DateTime,
    @AssignedTo    Nvarchar(450),
    @PhaseId int 
AS
BEGIN
    Insert Into dbo.Tasks (Name, IsGate, Condition, Precondition, Comments, StartDate, EndDate, AssignedTo, PhaseId, InProgress, Finished, Aborted) Values (@Name, @IsGate, @Condition, @Precondition, @Comments, @StartDate, @EndDate, @AssignedTo, @PhaseId, '0', '0', '0')
END
Therefore, what should I tweak in order to allow the stored procedure to get null values?

 
     
     
    